]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fix tests that fail with -std=gnu++98 or -std=gnu++11
authorJonathan Wakely <jwakely@redhat.com>
Thu, 24 Oct 2019 12:55:08 +0000 (13:55 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Thu, 24 Oct 2019 12:55:08 +0000 (13:55 +0100)
Backport from mainline
2019-06-06  Jonathan Wakely  <jwakely@redhat.com>

* 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

libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/20_util/is_nothrow_invocable/value.cc
libstdc++-v3/testsuite/experimental/names.cc
libstdc++-v3/testsuite/ext/char8_t/atomic-1.cc

index 8a0a4dcc55da1fd1d015251263a6b975c80e6063..f4ce7a37ee0c078a875de4c7f6a9bc7817ab7e20 100644 (file)
@@ -1,5 +1,14 @@
 2019-10-24  Jonathan Wakely  <jwakely@redhat.com>
 
+       Backport from mainline
+       2019-06-06  Jonathan Wakely  <jwakely@redhat.com>
+
+       * 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  <jwakely@redhat.com>
 
index 0a365a910fc584f1cc8740d0968e411d51cf0739..24ab3d786ecf44e7ac016ab02f3c03f379294c87 100644 (file)
@@ -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");
index 233b3487981db95489baab121208b27734d49cbc..cfda34948af249a7e0ef9256ac56b2b45922b5c0 100644 (file)
@@ -15,7 +15,7 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// { 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(<experimental/filesystem>)
 # include <experimental/filesystem>
 #endif
+
+#if __cplusplus >= 201402L
+
 // Library Fundamentals
 #include <experimental/algorithm>
 #include <experimental/any>
@@ -66,3 +69,5 @@
 # include <experimental/timer>
 # include <experimental/executor>
 #endif
+
+#endif // C++14
index cecd05df9371a5b1fa1b6ed5afadd220a7a4530f..0841aa3bb06555e8dcc7f607f27878a2c7ee9382 100644 (file)
@@ -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 <atomic>