From ce7f1ce4d012efc6c3ddd2a4a50f0cc907efb3f5 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 11 Sep 2019 12:38:15 +0100 Subject: [PATCH] Fix libstdc++ tests for -Wvolatile warnings in C++2a mode * testsuite/20_util/result_of/sfinae_friendly_1.cc: Add -Wno-volatile for C++2a and up. Define HAS_52748_FIXED and fix incorrect tests. * testsuite/tr1/3_function_objects/result_of.cc: Add -Wno-volatile for C++2a and up. From-SVN: r275643 --- libstdc++-v3/ChangeLog | 7 +++++++ .../testsuite/20_util/result_of/sfinae_friendly_1.cc | 11 ++++++----- .../testsuite/tr1/3_function_objects/result_of.cc | 2 ++ 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b12ebe56913..9472efb1bfd 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,10 @@ +2019-09-11 Jonathan Wakely + + * testsuite/20_util/result_of/sfinae_friendly_1.cc: Add -Wno-volatile + for C++2a and up. Define HAS_52748_FIXED and fix incorrect tests. + * testsuite/tr1/3_function_objects/result_of.cc: Add -Wno-volatile + for C++2a and up. + 2019-09-10 Jonathan Wakely * include/std/type_traits (__do_common_type_impl): Implement diff --git a/libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_1.cc b/libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_1.cc index ed3e011f937..86aa52029cc 100644 --- a/libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_1.cc +++ b/libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_1.cc @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-additional-options "-Wno-volatile" { target c++2a } } // Copyright (C) 2012-2019 Free Software Foundation, Inc. // @@ -21,9 +22,9 @@ #include #include -// TODO: Uncomment the following define once gcc has fixed bug 52748 +// Uncomment the following define once gcc has fixed bug 52748 // (incomplete types in function call expressions): -//#define HAS_52748_FIXED +#define HAS_52748_FIXED // Helper types: struct has_type_impl @@ -627,9 +628,9 @@ static_assert(is_type&(int, int, int)>, Ukn>(), "Error!"); -static_assert(is_type, Ukn>(), "Error!"); -static_assert(is_type, Ukn>(), "Error!"); -static_assert(is_type, Ukn>(), "Error!"); +static_assert(is_type, Ukn>(), "Error!"); +static_assert(is_type, Ukn>(), "Error!"); +static_assert(is_type, Ukn>(), "Error!"); static_assert(is_type, Ukn>(), "Error!"); static_assert(is_type, Ukn>(), "Error!"); diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc index 02cf8bf8c6d..dea0665b1e3 100644 --- a/libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc +++ b/libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc @@ -17,6 +17,8 @@ // with this library; see the file COPYING3. If not see // . +// { dg-additional-options "-Wno-volatile" { target c++2a } } + // 3.4 function return types #include #include -- 2.30.2