CWG 2094 - volatile scalars are trivially copyable.
[official-gcc.git] / gcc / testsuite / g++.dg / ext / is_trivially_copyable.C
blob6f93602c8c274aed6e4ad57cb810ffefa36dc894
1 // CWG 2094 - volatile scalars are trivially copyable.
2 // PR c++/85679
3 // { dg-do compile { target c++11 } }
5 #define SA(X) static_assert((X),#X)
7 struct S{};
9 SA(__is_trivially_copyable(S volatile));
10 SA(__is_trivially_copyable(S volatile[]));
11 SA(__is_trivially_copyable(S const volatile));
12 SA(__is_trivially_copyable(S const volatile[]));
13 SA(__is_trivially_copyable(int volatile));
14 SA(__is_trivially_copyable(int volatile[]));
15 SA(__is_trivially_copyable(int const volatile));
16 SA(__is_trivially_copyable(int const volatile[]));