bool_neg.cc: New.

* testsuite/27_io/basic_ios/conv/bool_neg.cc: New.
	* testsuite/27_io/basic_ios/conv/bool.cc: New.
	* testsuite/27_io/basic_ios/conv/voidptr.cc: New.

From-SVN: r215592
This commit is contained in:
Jonathan Wakely 2014-09-25 11:22:51 +01:00 committed by Jonathan Wakely
parent e2a2165dea
commit 7569cc5753
4 changed files with 110 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2014-09-25 Jonathan Wakely <jwakely@redhat.com>
* testsuite/27_io/basic_ios/conv/bool_neg.cc: New.
* testsuite/27_io/basic_ios/conv/bool.cc: New.
* testsuite/27_io/basic_ios/conv/voidptr.cc: New.
2014-09-25 Tim Shen <timshen@google.com>
PR libstdc++/63199

View File

@ -0,0 +1,39 @@
// Copyright (C) 2014 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++11" }
#include <ios>
#include <testsuite_hooks.h>
void
test01()
{
const std::basic_ios<char> x(nullptr);
bool test = static_cast<bool>(x);
VERIFY( !test );
if (x)
{
VERIFY( false );
}
}
int
main()
{
test01();
}

View File

@ -0,0 +1,26 @@
// Copyright (C) 2014 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++11" }
#include <ios>
void
test01(const std::basic_ios<char>& x)
{
bool b = x; // { dg-error "cannot convert" }
}

View File

@ -0,0 +1,39 @@
// Copyright (C) 2014 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
// { dg-options "-std=gnu++98" }
#include <ios>
#include <testsuite_hooks.h>
void
test01()
{
const std::basic_ios<char> x(0);
void* p = x;
VERIFY( !p );
if (x)
{
VERIFY( false );
}
}
int
main()
{
test01();
}