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>
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;
// 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
//
//===----------------------------------------------------------------------===//
-#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!
//
//===----------------------------------------------------------------------===//
-
// 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>
#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.
//
//===----------------------------------------------------------------------===//
-
// 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>
#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;
//
//===----------------------------------------------------------------------===//
-#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!
#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
case DeathTest::RK_MatchFailure:
return OnFailure("matcher failed");
}
+ assert(false && "unreachable");
}
template <class Func>