diff options
author | Eric Fiselier <eric@efcs.ca> | 2016-09-07 02:38:48 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2016-09-07 02:38:48 +0000 |
commit | f8e7a54be82fad657f4f5157c130e06a8ea26ad9 (patch) | |
tree | 949bda255277539bae086f7f27c72050d7bf184b /libcxx/test/std/utilities/any | |
parent | 7c2bcc9eb038df5fa238276749a88f289e9861ae (diff) | |
download | bcm5719-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.cpp | 18 |
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); |