[libcxx] [test] Fix experimental/memory.resource.adaptor.mem/db_deallocate on Windows
authorMartin Storsjö <martin@martin.st>
Tue, 13 Jul 2021 12:38:56 +0000 (12:38 +0000)
committerMartin Storsjö <martin@martin.st>
Fri, 16 Jul 2021 20:02:47 +0000 (23:02 +0300)
The checks within the libc++experimental memory_resource class uses this
limit:

     _MaxAlign = _LIBCPP_ALIGNOF(max_align_t);

Therefore, only use max_align_t for this limit instead of using
`__STDCPP_DEFAULT_NEW_ALIGNMENT__` if available.

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

libcxx/test/libcxx/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/db_deallocate.pass.cpp

index 109375b..cbc1e26 100644 (file)
@@ -14,8 +14,6 @@
 
 // T* polymorphic_allocator<T>::deallocate(T*, size_t size)
 
-// XFAIL: LIBCXX-WINDOWS-FIXME
-
 int AssertCount = 0;
 
 #define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : (void)::AssertCount++)
@@ -38,13 +36,8 @@ int main(int, char**)
     ex::resource_adaptor<Alloc> r(Alloc{P});
     ex::memory_resource & m1 = r;
 
-#ifdef __STDCPP_DEFAULT_NEW_ALIGNMENT__
-    std::size_t maxSize = std::numeric_limits<std::size_t>::max()
-                            - __STDCPP_DEFAULT_NEW_ALIGNMENT__;
-#else
     std::size_t maxSize = std::numeric_limits<std::size_t>::max()
                             - alignof(std::max_align_t);
-#endif
 
     m1.deallocate(nullptr, maxSize);
     assert(AssertCount == 0);