* doc/xml/manual/test.xml: Correct instructions on running tests.
* testsuite/21_strings/basic_string/cons/char/deduction.cc: Adjust to
pass when -D_GLIBCXX_USE_CXX11_ABI=0 added to RUNTESTFLAGS.
* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
Likewise.
* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/
exceptions_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
exceptions_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/ios_base/storage/2.cc: Likewise.
From-SVN: r249206
+2017-06-14 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/test.xml: Correct instructions on running tests.
+ * testsuite/21_strings/basic_string/cons/char/deduction.cc: Adjust to
+ pass when -D_GLIBCXX_USE_CXX11_ABI=0 added to RUNTESTFLAGS.
+ * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
+ Likewise.
+ * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
+ * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
+ * testsuite/27_io/basic_istream/extractors_arithmetic/char/
+ exceptions_failbit.cc: Likewise.
+ * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
+ exceptions_failbit.cc: Likewise.
+ * testsuite/27_io/basic_istream/extractors_other/char/
+ exceptions_null.cc: Likewise.
+ * testsuite/27_io/basic_istream/extractors_other/wchar_t/
+ exceptions_null.cc: Likewise.
+ * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
+ * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/char/
+ exceptions_null.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
+ exceptions_null.cc: Likewise.
+ * testsuite/27_io/ios_base/storage/2.cc: Likewise.
+
2017-06-12 Pedro Alves <palves@redhat.com>
* doc/xml/manual/status_cxx2017.xml: Update C++17 constexpr
For example, to run the tests with
<option>-O1 -D_GLIBCXX_ASSERTIONS</option>
you could use:
-<programlisting> make RUNTESTFLAGS=--target_board=unix/-O1/-D_GLIBCXX_ASSERTIONS</programlisting>
+<programlisting> make check RUNTESTFLAGS=--target_board=unix/-O1/-D_GLIBCXX_ASSERTIONS</programlisting>
</para>
<para>
tests multiple times in different variations. For example, to run the
entire testsuite three times using <option>-O3</option> but with
different <option>-std</option> options:
-<programlisting> make 'RUNTESTFLAGS=--target_board=unix/-O3\"{-std=gnu++98,-std=gnu++11,-std=gnu++14}\"'</programlisting>
+<programlisting> make check 'RUNTESTFLAGS=--target_board=unix/-O3\"{-std=gnu++98,-std=gnu++11,-std=gnu++14}\"'</programlisting>
N.B. that set of variations could also be written as
<literal>unix/-O3\"{-std=gnu++98,-std=gnu++11,}\"</literal> so that
the third variation would use the default for <option>-std</option>
const std::basic_string s4 = s3;
check_type<const std::string>(s4);
+#if _GLIBCXX_USE_CXX11_ABI
std::basic_string s5(s0, a);
check_type<std::string>(s5);
std::basic_string s6(std::move(s0), a);
check_type<std::string>(s6);
+#endif
std::basic_string s7(s0, 0, 0);
check_type<std::string>(s7);
const std::basic_string s4 = s2;
check_type<const std::wstring>(s4);
+#if _GLIBCXX_USE_CXX11_ABI
std::basic_string s5(s0, a);
check_type<std::wstring>(s5);
std::basic_string s6(std::move(s0), a);
check_type<std::wstring>(s6);
+#endif
std::basic_string s7(s0, 0, 0);
check_type<std::wstring>(s7);
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// The library throws the new definition of std::ios::failure
-// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=1" }
-
// 27.4.4.2 basic_ios member functions
// NB: Don't include any other headers in this file.
// basic_ios& copyfmt(const basic_ios& rhs)
{
std::ios ios_01(0);
- std::ios ios_02(0);
+ std::ios ios_02(0);
ios_01.exceptions(std::ios_base::eofbit);
ios_02.exceptions(std::ios_base::eofbit);
-
+
try {
- ios_01.copyfmt(ios_02);
- }
+ ios_01.copyfmt(ios_02);
+ }
catch(...) {
VERIFY( false );
}
}
{
+ // The library throws the new definition of std::ios::failure
+#if _GLIBCXX_USE_CXX11_ABI
+ typedef std::ios_base::failure exception_type;
+#else
+ typedef std::exception exception_type;
+#endif
+
std::ios ios_01(0);
- std::ios ios_02(0);
+ std::ios ios_02(0);
ios_01.clear(std::ios_base::eofbit);
ios_02.exceptions(std::ios_base::eofbit);
try {
ios_01.copyfmt(ios_02);
VERIFY( false );
- }
- catch(std::ios_base::failure& fail) {
+ }
+ catch(exception_type&) {
VERIFY( true );
}
catch(...) {
}
}
-int main()
+int main()
{
test02();
return 0;
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// The library throws the new definition of std::ios::failure
-// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=1" }
-
// 27.4.4.2 basic_ios member functions
// NB: Don't include any other headers in this file.
std::ios ios_01(0);
try {
ios_01.exceptions(std::ios_base::eofbit);
- }
+ }
catch(...) {
VERIFY( false );
}
}
{
+ // The library throws the new definition of std::ios::failure
+#if _GLIBCXX_USE_CXX11_ABI
+ typedef std::ios_base::failure exception_type;
+#else
+ typedef std::exception exception_type;
+#endif
+
std::ios ios_01(0);
ios_01.clear(std::ios_base::eofbit);
try {
ios_01.exceptions(std::ios_base::eofbit);
VERIFY( false );
- }
- catch(std::ios_base::failure& fail) {
+ }
+ catch(exception_type&) {
iostate02 = ios_01.exceptions();
VERIFY( static_cast<bool>(iostate02 & std::ios_base::eofbit) );
}
}
}
-int main()
+int main()
{
test01();
return 0;
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// The library throws the new definition of std::ios::failure
-// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=1" }
-
#include <sstream>
#include <testsuite_hooks.h>
istringstream stream("jaylib - champion sound");
stream.exceptions(ios_base::failbit);
-
+
+ // The library throws the new definition of std::ios::failure
+#if _GLIBCXX_USE_CXX11_ABI
+ typedef std::ios_base::failure exception_type;
+#else
+ typedef std::exception exception_type;
+#endif
+
try
{
T i;
stream >> i;
VERIFY( false );
}
- catch (const ios_base::failure&)
- {
+ catch (const exception_type&)
+ {
// stream should set failbit and throw ios_base::failure.
VERIFY( stream.fail() );
VERIFY( !stream.bad() );
VERIFY( !stream.eof() );
- }
+ }
catch(...)
{ VERIFY( false ); }
}
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// The library throws the new definition of std::ios::failure
-// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=1" }
-
#include <sstream>
#include <testsuite_hooks.h>
wistringstream stream(L"jaylib - champion sound");
stream.exceptions(ios_base::failbit);
-
+
+ // The library throws the new definition of std::ios::failure
+#if _GLIBCXX_USE_CXX11_ABI
+ typedef std::ios_base::failure exception_type;
+#else
+ typedef std::exception exception_type;
+#endif
+
try
{
T i;
stream >> i;
VERIFY( false );
}
- catch (const ios_base::failure&)
- {
+ catch (const exception_type&)
+ {
// stream should set failbit and throw ios_base::failure.
VERIFY( stream.fail() );
VERIFY( !stream.bad() );
VERIFY( !stream.eof() );
- }
+ }
catch(...)
{ VERIFY( false ); }
}
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// The library throws the new definition of std::ios::failure
-// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=1" }
-
#include <istream>
#include <ostream>
#include <streambuf>
istringstream stream;
stream.exceptions(ios_base::failbit);
+ // The library throws the new definition of std::ios::failure
+#if _GLIBCXX_USE_CXX11_ABI
+ typedef std::ios_base::failure exception_type;
+#else
+ typedef std::exception exception_type;
+#endif
+
try
{
stream >> static_cast<streambuf*>(0);
VERIFY(false);
}
- catch (ios_base::failure&)
+ catch (exception_type&)
{
}
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// The library throws the new definition of std::ios::failure
-// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=1" }
-
#include <istream>
#include <ostream>
#include <streambuf>
wistringstream stream;
stream.exceptions(ios_base::failbit);
+ // The library throws the new definition of std::ios::failure
+#if _GLIBCXX_USE_CXX11_ABI
+ typedef std::ios_base::failure exception_type;
+#else
+ typedef std::exception exception_type;
+#endif
+
try
{
stream >> static_cast<wstreambuf*>(0);
VERIFY( false );
}
- catch (ios_base::failure&)
+ catch (exception_type&)
{
}
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-
// 27.6.1.1.2 class basic_istream::sentry
-// The library throws the new definition of std::ios::failure
-// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=1" }
-
#include <sstream>
#include <testsuite_hooks.h>
using namespace std;
istringstream stream;
stream.exceptions(ios_base::eofbit);
-
+
+ // The library throws the new definition of std::ios::failure
+#if _GLIBCXX_USE_CXX11_ABI
+ typedef std::ios_base::failure exception_type;
+#else
+ typedef std::exception exception_type;
+#endif
+
try
{
istream::sentry sentry(stream, false);
VERIFY( false );
}
- catch (ios_base::failure&)
+ catch (exception_type&)
{
VERIFY( stream.rdstate() == (ios_base::eofbit | ios_base::failbit) );
}
-
+
return 0;
}
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// The library throws the new definition of std::ios::failure
-// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=1" }
-
// 27.6.1.1.2 class basic_istream::sentry
#include <sstream>
using namespace std;
wistringstream stream;
stream.exceptions(ios_base::eofbit);
-
+
+ // The library throws the new definition of std::ios::failure
+#if _GLIBCXX_USE_CXX11_ABI
+ typedef std::ios_base::failure exception_type;
+#else
+ typedef std::exception exception_type;
+#endif
+
try
{
wistream::sentry sentry(stream, false);
VERIFY( false );
}
- catch (ios_base::failure&)
+ catch (exception_type&)
{
VERIFY( stream.rdstate() == (ios_base::eofbit | ios_base::failbit) );
}
-
+
return 0;
}
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// The library throws the new definition of std::ios::failure
-// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=1" }
-
#include <istream>
#include <ostream>
#include <streambuf>
ostringstream stream;
stream.exceptions(ios_base::badbit);
-
+
+ // The library throws the new definition of std::ios::failure
+#if _GLIBCXX_USE_CXX11_ABI
+ typedef std::ios_base::failure exception_type;
+#else
+ typedef std::exception exception_type;
+#endif
+
try
{
stream << static_cast<streambuf*>(0);
VERIFY( false );
}
- catch (ios_base::failure&)
+ catch (exception_type&)
{
}
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// The library throws the new definition of std::ios::failure
-// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=1" }
-
#include <istream>
#include <ostream>
#include <streambuf>
wostringstream stream;
stream.exceptions(ios_base::badbit);
-
+
+ // The library throws the new definition of std::ios::failure
+#if _GLIBCXX_USE_CXX11_ABI
+ typedef std::ios_base::failure exception_type;
+#else
+ typedef std::exception exception_type;
+#endif
+
try
{
stream << static_cast<wstreambuf*>(0);
VERIFY( false );
}
- catch (ios_base::failure&)
+ catch (exception_type&)
{
}
// Skip test at -m64 on Darwin because RLIMITS are not being honored.
// Radar 6467883: 10.4/10.5 setrlimits are not honored by memory allocators
// Radar 6467884: 10.X systems are not robust when paging space is exceeded
-// { dg-skip-if "" { *-*-darwin* && lp64 } { "*" } { "" } }
-
-// The library throws the new definition of std::ios::failure
-// { dg-options "-D_GLIBCXX_USE_CXX11_ABI=1" }
+// { dg-skip-if "" { *-*-darwin* && lp64 } { "*" } { "" } }
#include <sstream>
#include <iostream>
// pword
ios.pword(1) = v;
VERIFY( ios.pword(1) == v );
-
- try
+
+ // The library throws the new definition of std::ios::failure
+#if _GLIBCXX_USE_CXX11_ABI
+ typedef std::ios_base::failure exception_type;
+#else
+ typedef std::exception exception_type;
+#endif
+
+ try
{
v = ios.pword(max);
}
- catch(std::ios_base::failure& obj)
+ catch(exception_type&)
{
// Ok.
VERIFY( ios.bad() );
VERIFY( v == 0 );
VERIFY( ios.pword(1) == v );
-
+
// max is different code path from max-1
v = &test;
try
{
v = ios.pword(std::numeric_limits<int>::max());
}
- catch(std::ios_base::failure& obj)
+ catch(exception_type&)
{
// Ok.
VERIFY( ios.bad() );
// iword
ios.iword(1) = 1;
VERIFY( ios.iword(1) == 1 );
-
- try
+
+ try
{
l = ios.iword(max);
}
- catch(std::ios_base::failure& obj)
+ catch(exception_type&)
{
// Ok.
VERIFY( ios.bad() );
// max is different code path from max-1
l = 1;
- try
+ try
{
l = ios.iword(std::numeric_limits<int>::max());
}
- catch(std::ios_base::failure& obj)
+ catch(exception_type&)
{
// Ok.
VERIFY( ios.bad() );