diff --git a/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp b/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp --- a/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp @@ -6,8 +6,6 @@ // //===----------------------------------------------------------------------===// -// XFAIL: LIBCXX-WINDOWS-FIXME - // type_traits // aligned_storage @@ -313,6 +311,16 @@ static_assert(std::alignment_of::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::value, ""); + static_assert(std::is_standard_layout::value, ""); + static_assert(std::alignment_of::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 @@ static_assert(std::alignment_of::value == Align, ""); static_assert(sizeof(T1) == Align, ""); } +#endif return 0; }