aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2019-09-11 12:38:15 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2019-09-11 12:38:15 +0100
commitce7f1ce4d012efc6c3ddd2a4a50f0cc907efb3f5 (patch)
tree20d8eecc34d6b12b5a4e7c292a6675e13ae89ea0
parentfd3bfefbd93259ca4af64e821388a6ec824fa0dd (diff)
downloadgcc-ce7f1ce4d012efc6c3ddd2a4a50f0cc907efb3f5.zip
gcc-ce7f1ce4d012efc6c3ddd2a4a50f0cc907efb3f5.tar.gz
gcc-ce7f1ce4d012efc6c3ddd2a4a50f0cc907efb3f5.tar.bz2
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
-rw-r--r--libstdc++-v3/ChangeLog7
-rw-r--r--libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_1.cc11
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc2
3 files changed, 15 insertions, 5 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index b12ebe5..9472efb 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,10 @@
+2019-09-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * 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 <jwakely@redhat.com>
* 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 ed3e011..86aa520 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 02cf8bf..dea0665 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>