[libc++] Fix a few warnings when running the test suite with GCC
authorLouis Dionne <ldionne@apple.com>
Mon, 20 Apr 2020 17:48:16 +0000 (13:48 -0400)
committerLouis Dionne <ldionne@apple.com>
Mon, 20 Apr 2020 17:48:50 +0000 (13:48 -0400)
libcxx/test/libcxx/algorithms/debug_less.pass.cpp
libcxx/test/libcxx/atomics/libcpp-has-no-threads.pass.cpp
libcxx/test/libcxx/containers/associative/undef_min_max.pass.cpp
libcxx/test/libcxx/containers/gnu_cxx/hash_map.pass.cpp
libcxx/test/libcxx/containers/gnu_cxx/hash_map_name_lookup.pass.cpp
libcxx/test/libcxx/containers/gnu_cxx/hash_set.pass.cpp
libcxx/test/libcxx/containers/gnu_cxx/hash_set_name_lookup.pass.cpp
libcxx/test/libcxx/numerics/c.math/undef_min_max.pass.cpp
libcxx/test/support/container_debug_tests.h
libcxx/test/support/debug_mode_helper.h

index 5d1b575..6a05b8d 100644 (file)
@@ -183,6 +183,7 @@ inline bool operator<(FooImp<T> const& x, Tag<0> y) {
 template <class T>
 inline bool operator<(Tag<0>, FooImp<T> const&) {
     static_assert(sizeof(FooImp<T>) != sizeof(FooImp<T>), "should not be instantiated");
+    return false;
 }
 
 template <class T>
@@ -193,6 +194,7 @@ inline bool operator<(Tag<1> x, FooImp<T> const& y) {
 template <class T>
 inline bool operator<(FooImp<T> const&, Tag<1>) {
     static_assert(sizeof(FooImp<T>) != sizeof(FooImp<T>), "should not be instantiated");
+    return false;
 }
 
 typedef FooImp<> Foo;
index af2d55e..b52ba64 100644 (file)
@@ -8,7 +8,7 @@
 // XFAIL: libcpp-has-no-threads
 
 #ifdef _LIBCPP_HAS_NO_THREADS
-#error This should be XFAIL'd for the purpose of detecting that the LIT feature\
+#error This should be XFAILed for the purpose of detecting that the LIT feature\
    'libcpp-has-no-threads' is available iff _LIBCPP_HAS_NO_THREADS is defined
 #endif
 
index 1408da9..ff15f35 100644 (file)
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#if defined(__GNUC__) || defined(__clang__)
-#pragma GCC diagnostic ignored "-W#warnings"
+#if defined(__clang__)
+#pragma clang diagnostic ignored "-W#warnings"
 #endif
 
 #define min THIS IS A NASTY MACRO!
index df41318..ff268cd 100644 (file)
@@ -6,11 +6,13 @@
 //
 //===----------------------------------------------------------------------===//
 
-
 // Prevent emission of the deprecated warning.
 #ifdef __clang__
 #pragma clang diagnostic ignored "-W#warnings"
 #endif
+#ifdef __GNUC__
+#pragma GCC diagnostic ignored "-Wcpp"
+#endif
 
 #include <ext/hash_map>
 #include <cassert>
index bfcb8ae..31e877e 100644 (file)
@@ -10,6 +10,9 @@
 #ifdef __clang__
 #pragma clang diagnostic ignored "-W#warnings"
 #endif
+#ifdef __GNUC__
+#pragma GCC diagnostic push "-Wcpp"
+#endif
 
 // Poison the std:: names we might use inside __gnu_cxx to ensure they're
 // properly qualified.
index 307ba73..bfdbb38 100644 (file)
@@ -6,11 +6,13 @@
 //
 //===----------------------------------------------------------------------===//
 
-
 // Prevent emission of the deprecated warning.
 #ifdef __clang__
 #pragma clang diagnostic ignored "-W#warnings"
 #endif
+#ifdef __GNUC__
+#pragma GCC diagnostic ignored "-Wcpp"
+#endif
 
 #include <ext/hash_set>
 #include <cassert>
index b3e1e19..6e50137 100644 (file)
 #ifdef __clang__
 #pragma clang diagnostic ignored "-W#warnings"
 #endif
+#ifdef __GNUC__
+#pragma GCC diagnostic ignored "-Wcpp"
+#endif
+
 // Poison the std:: names we might use inside __gnu_cxx to ensure they're
 // properly qualified.
 struct allocator;
index ba1696e..a9f5017 100644 (file)
@@ -5,8 +5,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#if defined(__GNUC__) || defined(__clang__)
-#pragma GCC diagnostic ignored "-W#warnings"
+#if defined(__clang__)
+#pragma clang diagnostic ignored "-W#warnings"
 #endif
 
 #define min THIS IS A NASTY MACRO!
index 36496c2..e0b0df3 100644 (file)
@@ -11,7 +11,7 @@
 
 #include <ciso646>
 #ifndef _LIBCPP_VERSION
-#error This header may only be used for libc++ tests"
+#error This header may only be used for libc++ tests
 #endif
 
 #ifndef _LIBCPP_DEBUG
index ed111ab..8256f3e 100644 (file)
@@ -287,6 +287,7 @@ inline bool ExpectDeath(const char* stmt, Func&& func, DebugInfoMatcher Matcher)
   case DeathTest::RK_MatchFailure:
       return OnFailure("matcher failed");
   }
+  assert(false && "unreachable");
 }
 
 template <class Func>