[libc++][test] Change IsSmallObject's calculation for std::any's small object buffer
authorCasey Carter <Casey@Carter.net>
Thu, 10 Oct 2019 18:07:12 +0000 (18:07 +0000)
committerCasey Carter <Casey@Carter.net>
Thu, 10 Oct 2019 18:07:12 +0000 (18:07 +0000)
`sizeof(std::any) - sizeof(void*)` is correct for both libc++ and the MSVC standard library.

Differential Revision: https://reviews.llvm.org/D68756

llvm-svn: 374407

libcxx/test/support/any_helpers.h

index eb9a4c1..099bcec 100644 (file)
@@ -26,7 +26,7 @@ namespace std { namespace experimental {} }
 template <class T>
   struct IsSmallObject
     : public std::integral_constant<bool
-        , sizeof(T) <= (sizeof(void*)*3)
+        , sizeof(T) <= sizeof(std::any) - sizeof(void*)
           && std::alignment_of<void*>::value
              % std::alignment_of<T>::value == 0
           && std::is_nothrow_move_constructible<T>::value