From: Jonathan Wakely Date: Thu, 24 Oct 2019 12:55:08 +0000 (+0100) Subject: Fix tests that fail with -std=gnu++98 or -std=gnu++11 X-Git-Tag: releases/gcc-9.3.0~483 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4f03a8f01111b26343f9be4e5304337e5cb28936;p=thirdparty%2Fgcc.git Fix tests that fail with -std=gnu++98 or -std=gnu++11 Backport from mainline 2019-06-06 Jonathan Wakely * testsuite/20_util/is_nothrow_invocable/value.cc: Test converting to void. * testsuite/experimental/names.cc: Do not run for C++98 mode. Do not include Library Fundamentals or Networking headers in C++11 mode. * testsuite/ext/char8_t/atomic-1.cc: Do not run for C++98 mode. From-SVN: r277390 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 8a0a4dcc55da..f4ce7a37ee0c 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,14 @@ 2019-10-24 Jonathan Wakely + Backport from mainline + 2019-06-06 Jonathan Wakely + + * testsuite/20_util/is_nothrow_invocable/value.cc: Test converting to + void. + * testsuite/experimental/names.cc: Do not run for C++98 mode. Do not + include Library Fundamentals or Networking headers in C++11 mode. + * testsuite/ext/char8_t/atomic-1.cc: Do not run for C++98 mode. + Backport from mainline 2019-05-14 Jonathan Wakely diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_invocable/value.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_invocable/value.cc index 0a365a910fc5..24ab3d786ecf 100644 --- a/libstdc++-v3/testsuite/20_util/is_nothrow_invocable/value.cc +++ b/libstdc++-v3/testsuite/20_util/is_nothrow_invocable/value.cc @@ -119,9 +119,11 @@ void test01() static_assert( ! is_nt_invocable_r< T, F >(), "call throws"); static_assert( ! is_nt_invocable_r< NT, F >(), "call throws"); static_assert( ! is_nt_invocable_r< Ex, F >(), "call throws"); + static_assert( ! is_nt_invocable_r< void, F >(), "call throws"); static_assert( ! is_nt_invocable_r< T, CF >(), "conversion throws"); static_assert( is_nt_invocable_r< NT, CF >(), "" ); static_assert( ! is_nt_invocable_r< Ex, CF >(), "conversion fails"); + static_assert( is_nt_invocable_r< void, CF >(), ""); static_assert( ! is_nt_invocable< F, int >(), "call throws"); static_assert( is_nt_invocable< F&, int >(), ""); @@ -140,12 +142,14 @@ void test01() static_assert( is_nt_invocable_r< char&, CF, int >(), ""); static_assert( is_nt_invocable_r< char&, CF&, int >(), ""); + static_assert( is_nt_invocable_r< void, CF&, int >(), ""); static_assert( ! is_nt_invocable_r< T, CF&, int >(), "conversion throws"); static_assert( is_nt_invocable_r< NT, CF&, int >(), ""); static_assert( ! is_nt_invocable_r< Ex, CF&, int >(), "conversion fails, would use explicit constructor"); + static_assert( is_nt_invocable_r< void, CF&, int >(), ""); static_assert( ! is_nt_invocable< F, int, int >(), "would call private member"); diff --git a/libstdc++-v3/testsuite/experimental/names.cc b/libstdc++-v3/testsuite/experimental/names.cc index 233b3487981d..cfda34948af2 100644 --- a/libstdc++-v3/testsuite/experimental/names.cc +++ b/libstdc++-v3/testsuite/experimental/names.cc @@ -15,7 +15,7 @@ // with this library; see the file COPYING3. If not see // . -// { dg-do compile } +// { dg-do compile { target c++11 } } // Define macros for some common variables names that we must not use for // naming variables, parameters etc. in the library. @@ -25,6 +25,9 @@ #if __has_include() # include #endif + +#if __cplusplus >= 201402L + // Library Fundamentals #include #include @@ -66,3 +69,5 @@ # include # include #endif + +#endif // C++14 diff --git a/libstdc++-v3/testsuite/ext/char8_t/atomic-1.cc b/libstdc++-v3/testsuite/ext/char8_t/atomic-1.cc index cecd05df9371..0841aa3bb065 100644 --- a/libstdc++-v3/testsuite/ext/char8_t/atomic-1.cc +++ b/libstdc++-v3/testsuite/ext/char8_t/atomic-1.cc @@ -1,6 +1,6 @@ // Test that char8_t related atomic types and macros are not present when // -fchar8_t is not enabled. -// { dg-do compile } +// { dg-do compile { target c++11 } } // { dg-options "-fno-char8_t" } #include