diff options
| author | Marshall Clow <mclow.lists@gmail.com> | 2018-03-06 15:01:19 +0000 |
|---|---|---|
| committer | Marshall Clow <mclow.lists@gmail.com> | 2018-03-06 15:01:19 +0000 |
| commit | 042f07eed8c1acba19ea04310137bee12b18045a (patch) | |
| tree | ca02c89bae6e5177ade56cd34d41837d269da407 /libcxx/test | |
| parent | ad96d9a373aa8a6be1b9f9da1e2fc114be951765 (diff) | |
| download | bcm5719-llvm-042f07eed8c1acba19ea04310137bee12b18045a.tar.gz bcm5719-llvm-042f07eed8c1acba19ea04310137bee12b18045a.zip | |
Implement P0767R1 - Deprecate POD
llvm-svn: 326801
Diffstat (limited to 'libcxx/test')
3 files changed, 114 insertions, 1 deletions
diff --git a/libcxx/test/std/language.support/support.types/byte.pass.cpp b/libcxx/test/std/language.support/support.types/byte.pass.cpp index 66b2a553186..a1abefa8428 100644 --- a/libcxx/test/std/language.support/support.types/byte.pass.cpp +++ b/libcxx/test/std/language.support/support.types/byte.pass.cpp @@ -9,14 +9,18 @@ #include <cstddef> #include <type_traits> -#include <test_macros.h> +#include "test_macros.h" // XFAIL: c++98, c++03, c++11, c++14 // std::byte is not an integer type, nor a character type. // It is a distinct type for accessing the bits that ultimately make up object storage. +#if TEST_STD_VER > 17 +static_assert( std::is_trivial<std::byte>::value, "" ); // P0767 +#else static_assert( std::is_pod<std::byte>::value, "" ); +#endif static_assert(!std::is_arithmetic<std::byte>::value, "" ); static_assert(!std::is_integral<std::byte>::value, "" ); diff --git a/libcxx/test/std/language.support/support.types/max_align_t.pass.cpp b/libcxx/test/std/language.support/support.types/max_align_t.pass.cpp index 08a6c28a4c1..603b6f10735 100644 --- a/libcxx/test/std/language.support/support.types/max_align_t.pass.cpp +++ b/libcxx/test/std/language.support/support.types/max_align_t.pass.cpp @@ -14,11 +14,18 @@ // great as that of every scalar type #include <stdio.h> +#include "test_macros.h" int main() { +#if TEST_STD_VER > 17 +// P0767 + static_assert(std::is_trivial<std::max_align_t>::value, + "std::is_trivial<std::max_align_t>::value"); +#else static_assert(std::is_pod<std::max_align_t>::value, "std::is_pod<std::max_align_t>::value"); +#endif static_assert((std::alignment_of<std::max_align_t>::value >= std::alignment_of<long long>::value), "std::alignment_of<std::max_align_t>::value >= " 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 index 079661d0c17..216cb7b5b57 100644 --- 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 @@ -22,6 +22,12 @@ int main() #if TEST_STD_VER > 11 static_assert(std::is_same<std::aligned_storage_t<10, 1>, T1>::value, "" ); #endif +#if TEST_STD_VER > 17 +// P0767 + static_assert(std::is_trivial<T1>::value, "" ); +#else + static_assert(std::is_pod<T1>::value, "" ); +#endif static_assert(std::alignment_of<T1>::value == 1, ""); static_assert(sizeof(T1) == 10, ""); } @@ -30,6 +36,12 @@ int main() #if TEST_STD_VER > 11 static_assert(std::is_same<std::aligned_storage_t<10, 2>, T1>::value, "" ); #endif +#if TEST_STD_VER > 17 +// P0767 + static_assert(std::is_trivial<T1>::value, "" ); +#else + static_assert(std::is_pod<T1>::value, "" ); +#endif static_assert(std::alignment_of<T1>::value == 2, ""); static_assert(sizeof(T1) == 10, ""); } @@ -38,6 +50,12 @@ int main() #if TEST_STD_VER > 11 static_assert(std::is_same<std::aligned_storage_t<10, 4>, T1>::value, "" ); #endif +#if TEST_STD_VER > 17 +// P0767 + static_assert(std::is_trivial<T1>::value, "" ); +#else + static_assert(std::is_pod<T1>::value, "" ); +#endif static_assert(std::alignment_of<T1>::value == 4, ""); static_assert(sizeof(T1) == 12, ""); } @@ -46,6 +64,12 @@ int main() #if TEST_STD_VER > 11 static_assert(std::is_same<std::aligned_storage_t<10, 8>, T1>::value, "" ); #endif +#if TEST_STD_VER > 17 +// P0767 + static_assert(std::is_trivial<T1>::value, "" ); +#else + static_assert(std::is_pod<T1>::value, "" ); +#endif static_assert(std::alignment_of<T1>::value == 8, ""); static_assert(sizeof(T1) == 16, ""); } @@ -54,6 +78,12 @@ int main() #if TEST_STD_VER > 11 static_assert(std::is_same<std::aligned_storage_t<10, 16>, T1>::value, "" ); #endif +#if TEST_STD_VER > 17 +// P0767 + static_assert(std::is_trivial<T1>::value, "" ); +#else + static_assert(std::is_pod<T1>::value, "" ); +#endif static_assert(std::alignment_of<T1>::value == 16, ""); static_assert(sizeof(T1) == 16, ""); } @@ -62,6 +92,12 @@ int main() #if TEST_STD_VER > 11 static_assert(std::is_same<std::aligned_storage_t<10, 32>, T1>::value, "" ); #endif +#if TEST_STD_VER > 17 +// P0767 + static_assert(std::is_trivial<T1>::value, "" ); +#else + static_assert(std::is_pod<T1>::value, "" ); +#endif static_assert(std::alignment_of<T1>::value == 32, ""); static_assert(sizeof(T1) == 32, ""); } @@ -70,6 +106,12 @@ int main() #if TEST_STD_VER > 11 static_assert(std::is_same<std::aligned_storage_t<20, 32>, T1>::value, "" ); #endif +#if TEST_STD_VER > 17 +// P0767 + static_assert(std::is_trivial<T1>::value, "" ); +#else + static_assert(std::is_pod<T1>::value, "" ); +#endif static_assert(std::alignment_of<T1>::value == 32, ""); static_assert(sizeof(T1) == 32, ""); } @@ -78,6 +120,12 @@ int main() #if TEST_STD_VER > 11 static_assert(std::is_same<std::aligned_storage_t<40, 32>, T1>::value, "" ); #endif +#if TEST_STD_VER > 17 +// P0767 + static_assert(std::is_trivial<T1>::value, "" ); +#else + static_assert(std::is_pod<T1>::value, "" ); +#endif static_assert(std::alignment_of<T1>::value == 32, ""); static_assert(sizeof(T1) == 64, ""); } @@ -86,6 +134,12 @@ int main() #if TEST_STD_VER > 11 static_assert(std::is_same<std::aligned_storage_t<12, 16>, T1>::value, "" ); #endif +#if TEST_STD_VER > 17 +// P0767 + static_assert(std::is_trivial<T1>::value, "" ); +#else + static_assert(std::is_pod<T1>::value, "" ); +#endif static_assert(std::alignment_of<T1>::value == 16, ""); static_assert(sizeof(T1) == 16, ""); } @@ -94,6 +148,12 @@ int main() #if TEST_STD_VER > 11 static_assert(std::is_same<std::aligned_storage_t<1>, T1>::value, "" ); #endif +#if TEST_STD_VER > 17 +// P0767 + static_assert(std::is_trivial<T1>::value, "" ); +#else + static_assert(std::is_pod<T1>::value, "" ); +#endif static_assert(std::alignment_of<T1>::value == 1, ""); static_assert(sizeof(T1) == 1, ""); } @@ -102,6 +162,12 @@ int main() #if TEST_STD_VER > 11 static_assert(std::is_same<std::aligned_storage_t<2>, T1>::value, "" ); #endif +#if TEST_STD_VER > 17 +// P0767 + static_assert(std::is_trivial<T1>::value, "" ); +#else + static_assert(std::is_pod<T1>::value, "" ); +#endif static_assert(std::alignment_of<T1>::value == 2, ""); static_assert(sizeof(T1) == 2, ""); } @@ -110,6 +176,12 @@ int main() #if TEST_STD_VER > 11 static_assert(std::is_same<std::aligned_storage_t<3>, T1>::value, "" ); #endif +#if TEST_STD_VER > 17 +// P0767 + static_assert(std::is_trivial<T1>::value, "" ); +#else + static_assert(std::is_pod<T1>::value, "" ); +#endif static_assert(std::alignment_of<T1>::value == 2, ""); static_assert(sizeof(T1) == 4, ""); } @@ -118,6 +190,12 @@ int main() #if TEST_STD_VER > 11 static_assert(std::is_same<std::aligned_storage_t<4>, T1>::value, "" ); #endif +#if TEST_STD_VER > 17 +// P0767 + static_assert(std::is_trivial<T1>::value, "" ); +#else + static_assert(std::is_pod<T1>::value, "" ); +#endif static_assert(std::alignment_of<T1>::value == 4, ""); static_assert(sizeof(T1) == 4, ""); } @@ -126,6 +204,12 @@ int main() #if TEST_STD_VER > 11 static_assert(std::is_same<std::aligned_storage_t<5>, T1>::value, "" ); #endif +#if TEST_STD_VER > 17 +// P0767 + static_assert(std::is_trivial<T1>::value, "" ); +#else + static_assert(std::is_pod<T1>::value, "" ); +#endif static_assert(std::alignment_of<T1>::value == 4, ""); static_assert(sizeof(T1) == 8, ""); } @@ -142,6 +226,12 @@ int main() #if TEST_STD_VER > 11 static_assert(std::is_same<std::aligned_storage_t<8>, T1>::value, "" ); #endif +#if TEST_STD_VER > 17 +// P0767 + static_assert(std::is_trivial<T1>::value, "" ); +#else + static_assert(std::is_pod<T1>::value, "" ); +#endif static_assert(std::alignment_of<T1>::value == 8, ""); static_assert(sizeof(T1) == 8, ""); } @@ -150,6 +240,12 @@ int main() #if TEST_STD_VER > 11 static_assert(std::is_same<std::aligned_storage_t<9>, T1>::value, "" ); #endif +#if TEST_STD_VER > 17 +// P0767 + static_assert(std::is_trivial<T1>::value, "" ); +#else + static_assert(std::is_pod<T1>::value, "" ); +#endif static_assert(std::alignment_of<T1>::value == 8, ""); static_assert(sizeof(T1) == 16, ""); } @@ -158,6 +254,12 @@ int main() #if TEST_STD_VER > 11 static_assert(std::is_same<std::aligned_storage_t<15>, T1>::value, "" ); #endif +#if TEST_STD_VER > 17 +// P0767 + static_assert(std::is_trivial<T1>::value, "" ); +#else + static_assert(std::is_pod<T1>::value, "" ); +#endif static_assert(std::alignment_of<T1>::value == 8, ""); static_assert(sizeof(T1) == 16, ""); } |

