* 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.
Tested x86_64-linux, committed to trunk.
commit 25f120f074c602424f5a05bd629deabccd77f75e Author: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Wed Sep 11 11:38:15 2019 +0000 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@275643 138bc75d-0d04-0410-961f-82ee72b054a4 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 <cstddef> #include <type_traits> -// 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<std::result_of static_assert(is_type<std::result_of <variable_functor<Ukn>&(int, int, int)>, Ukn>(), "Error!"); -static_assert(is_type<std::result_of<PMSIncomplete(int)>, Ukn>(), "Error!"); -static_assert(is_type<std::result_of<PMSIncomplete&(int)>, Ukn>(), "Error!"); -static_assert(is_type<std::result_of<PMSIncomplete&&(int)>, Ukn>(), "Error!"); +static_assert(is_type<std::result_of<PMSIncomplete(S*, int)>, Ukn>(), "Error!"); +static_assert(is_type<std::result_of<PMSIncomplete&(const S&, int)>, Ukn>(), "Error!"); +static_assert(is_type<std::result_of<PMSIncomplete&&(S&&, int)>, Ukn>(), "Error!"); static_assert(is_type<std::result_of<FuncIncomplete(int)>, Ukn>(), "Error!"); static_assert(is_type<std::result_of<FuncIncomplete&(int)>, 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 // <http://www.gnu.org/licenses/>. +// { dg-additional-options "-Wno-volatile" { target c++2a } } + // 3.4 function return types #include <tr1/functional> #include <tr1/type_traits>