diff options
Diffstat (limited to 'libcxx/test')
5 files changed, 15 insertions, 0 deletions
diff --git a/libcxx/test/libcxx/containers/sequences/vector/asan_throw.pass.cpp b/libcxx/test/libcxx/containers/sequences/vector/asan_throw.pass.cpp index 443a6f2e924..235a3ffae14 100644 --- a/libcxx/test/libcxx/containers/sequences/vector/asan_throw.pass.cpp +++ b/libcxx/test/libcxx/containers/sequences/vector/asan_throw.pass.cpp @@ -50,6 +50,7 @@ public: throw 0; } } + ThrowOnCopy& operator=(ThrowOnCopy const&) = default; bool should_throw; }; diff --git a/libcxx/test/std/utilities/meta/meta.const.eval/is_constant_evaluated.fail.cpp b/libcxx/test/std/utilities/meta/meta.const.eval/is_constant_evaluated.fail.cpp index c139233b8da..2d2e0715762 100644 --- a/libcxx/test/std/utilities/meta/meta.const.eval/is_constant_evaluated.fail.cpp +++ b/libcxx/test/std/utilities/meta/meta.const.eval/is_constant_evaluated.fail.cpp @@ -24,6 +24,7 @@ int main(int, char**) #else // expected-error@+1 {{static_assert failed}} static_assert(!std::is_constant_evaluated(), ""); + // expected-error@-1 0-1 {{'std::is_constant_evaluated' will always evaluate to 'true' in a manifestly constant-evaluated expression}} #endif return 0; } diff --git a/libcxx/test/std/utilities/meta/meta.const.eval/is_constant_evaluated.pass.cpp b/libcxx/test/std/utilities/meta/meta.const.eval/is_constant_evaluated.pass.cpp index 0f9f98e9176..e4b8a7575b0 100644 --- a/libcxx/test/std/utilities/meta/meta.const.eval/is_constant_evaluated.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.const.eval/is_constant_evaluated.pass.cpp @@ -23,6 +23,12 @@ #endif #endif +// Disable the tautological constant evaluation warnings for this test, +// because it's explicitly testing those cases. +#if TEST_HAS_WARNING("-Wconstant-evaluated") && defined(__clang__) +#pragma clang diagnostic ignored "-Wconstant-evaluated" +#endif + template <bool> struct InTemplate {}; int main(int, char**) diff --git a/libcxx/test/std/utilities/optional/optional.object/optional.object.assign/copy.pass.cpp b/libcxx/test/std/utilities/optional/optional.object/optional.object.assign/copy.pass.cpp index a5ff10201c9..f14e20657d7 100644 --- a/libcxx/test/std/utilities/optional/optional.object/optional.object.assign/copy.pass.cpp +++ b/libcxx/test/std/utilities/optional/optional.object/optional.object.assign/copy.pass.cpp @@ -30,6 +30,7 @@ struct X if (throw_now) TEST_THROW(6); } + X& operator=(X const&) = default; }; bool X::throw_now = false; diff --git a/libcxx/test/support/test_macros.h b/libcxx/test/support/test_macros.h index f5fbedb5555..443165516b2 100644 --- a/libcxx/test/support/test_macros.h +++ b/libcxx/test/support/test_macros.h @@ -47,6 +47,12 @@ #define TEST_HAS_EXTENSION(X) 0 #endif +#ifdef __has_warning +#define TEST_HAS_WARNING(X) __has_warning(X) +#else +#define TEST_HAS_WARNING(X) 0 +#endif + #ifdef __has_builtin #define TEST_HAS_BUILTIN(X) __has_builtin(X) #else |