1 // { dg-do compile { target c++11 } }
4 struct B { B(); operator int(); };
10 C& operator= (const C&) = default;
14 #define SA(X) static_assert((X),#X)
16 SA(__is_trivially_constructible(A));
17 SA(__is_trivially_constructible(A,A));
18 SA(!__is_trivially_constructible(B));
19 SA(__is_trivially_constructible(B,B));
21 SA(!__is_trivially_constructible(A,B));
22 SA(!__is_trivially_constructible(B,A));
24 SA(__is_trivially_constructible(C));
25 SA(__is_trivially_constructible(C,C));
26 SA(!__is_trivially_constructible(C,C&));
27 SA(__is_trivially_assignable(C,C&));
28 SA(!__is_trivially_assignable(C,C));
29 SA(!__is_trivially_assignable(C,C&&));
31 SA(__is_trivially_constructible(int,int));
32 SA(__is_trivially_constructible(int,double));
33 SA(!__is_trivially_constructible(int,B));
35 SA(!__is_trivially_constructible(D));