summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/utilities/any
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2016-09-07 02:38:48 +0000
committerEric Fiselier <eric@efcs.ca>2016-09-07 02:38:48 +0000
commitf8e7a54be82fad657f4f5157c130e06a8ea26ad9 (patch)
tree949bda255277539bae086f7f27c72050d7bf184b /libcxx/test/std/utilities/any
parent7c2bcc9eb038df5fa238276749a88f289e9861ae (diff)
downloadbcm5719-llvm-f8e7a54be82fad657f4f5157c130e06a8ea26ad9.tar.gz
bcm5719-llvm-f8e7a54be82fad657f4f5157c130e06a8ea26ad9.zip
Improve constexpr tests for std::any
llvm-svn: 280777
Diffstat (limited to 'libcxx/test/std/utilities/any')
-rw-r--r--libcxx/test/std/utilities/any/any.class/any.cons/default.pass.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/libcxx/test/std/utilities/any/any.class/any.cons/default.pass.cpp b/libcxx/test/std/utilities/any/any.class/any.cons/default.pass.cpp
index 9f9b826b612..ed7a948e00a 100644
--- a/libcxx/test/std/utilities/any/any.class/any.cons/default.pass.cpp
+++ b/libcxx/test/std/utilities/any/any.class/any.cons/default.pass.cpp
@@ -21,15 +21,6 @@
#include "any_helpers.h"
#include "count_new.hpp"
-#if TEST_HAS_BUILTIN_IDENTIFIER(__has_constant_initializer)
-// std::any must have a constexpr default constructor, but it's a non-literal
-// type so we can't create a constexpr variable. This tests that we actually
-// get 'constant initialization'.
-std::any a;
-static_assert(__has_constant_initializer(a),
- "any must be constant initializable");
-#endif
-
int main()
{
using std::any;
@@ -40,6 +31,15 @@ int main()
);
}
{
+ struct TestConstexpr : public std::any {
+ constexpr TestConstexpr() : std::any() {}
+ };
+#ifdef _LIBCPP_SAFE_STATIC
+ _LIBCPP_SAFE_STATIC static std::any a;
+ ((void)a);
+#endif
+ }
+ {
DisableAllocationGuard g; ((void)g);
any const a;
assertEmpty(a);
OpenPOWER on IntegriCloud