[libc++][test] Portability fix for std::any tests
authorCasey Carter <Casey@Carter.net>
Mon, 14 Oct 2019 19:05:04 +0000 (19:05 +0000)
committerCasey Carter <Casey@Carter.net>
Mon, 14 Oct 2019 19:05:04 +0000 (19:05 +0000)
Ensure that `large_tracked_t` defined in `any_helpers.h` is in fact too large to fit in `std::any`'s small object buffer.

llvm-svn: 374806

libcxx/test/support/any_helpers.h

index 099bcec..6bdc3fd 100644 (file)
@@ -414,10 +414,10 @@ struct large_tracked_t {
       : arg_types(&makeArgumentID<std::initializer_list<int>, Args...>()) {}
 
   TypeID const* arg_types;
-  int dummy[10];
+  int dummy[sizeof(std::any) / sizeof(int) + 1];
 };
 
-static_assert(!IsSmallObject<large_tracked_t>::value, "must be small");
+static_assert(!IsSmallObject<large_tracked_t>::value, "must not be small");
 
 
 template <class Type, class ...Args>