[libcxx] [test] Fix the aligned storage test to work on Windows

Don't test alignment over 8 KB, which isn't supported on that
platform.

Differential Revision: https://reviews.llvm.org/D119348
This commit is contained in:
Martin Storsjö 2022-01-11 09:31:14 +00:00
parent 6cf64b2d28
commit 3dce6b329c
1 changed files with 11 additions and 2 deletions

View File

@ -6,8 +6,6 @@
//
//===----------------------------------------------------------------------===//
// XFAIL: LIBCXX-WINDOWS-FIXME
// type_traits
// aligned_storage
@ -313,6 +311,16 @@ int main(int, char**)
static_assert(std::alignment_of<T1>::value == 8, "");
static_assert(sizeof(T1) == 16, "");
}
{
const int Align = 8192;
typedef typename std::aligned_storage<1, Align>::type T1;
static_assert(std::is_trivial<T1>::value, "");
static_assert(std::is_standard_layout<T1>::value, "");
static_assert(std::alignment_of<T1>::value == Align, "");
static_assert(sizeof(T1) == Align, "");
}
#ifndef _WIN32
// Windows only supports alignment up to 8192 bytes.
{
const int Align = 65536;
typedef typename std::aligned_storage<1, Align>::type T1;
@ -321,6 +329,7 @@ int main(int, char**)
static_assert(std::alignment_of<T1>::value == Align, "");
static_assert(sizeof(T1) == Align, "");
}
#endif
return 0;
}