Home | History | Annotate | Download | only in SemaCXX

Lines Matching full:template

22 template <unsigned A> struct alignas(A) align_class_template {};
24 template <typename... T> struct alignas(T...) align_class_temp_pack_type {};
25 template <unsigned... A> struct alignas(A...) align_class_temp_pack_expr {};
27 template <typename... A> struct outer {
28 template <typename... B> struct alignas(alignof(A) * alignof(B)...) inner {};
34 template<typename T> using align_alias_template = align_typedef alignas(8); // expected-error {{'alignas' attribute cannot be applied to types}}
41 static_assert(alignof(align_class_template<8>) == 8, "template's alignment is wrong");
42 static_assert(alignof(align_class_template<16>) == 16, "template's alignment is wrong");
43 static_assert(alignof(align_class_temp_pack_type<short, int, long>) == alignof(long), "template's alignment is wrong");
44 static_assert(alignof(align_class_temp_pack_expr<8, 16, 32>) == 32, "template's alignment is wrong");
45 static_assert(alignof(outer<int,char>::inner<double,short>) == alignof(int) * alignof(double), "template's alignment is wrong");