diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/ext/tmplattr2.C')
-rw-r--r-- | gcc/testsuite/g++.dg/ext/tmplattr2.C | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/ext/tmplattr2.C b/gcc/testsuite/g++.dg/ext/tmplattr2.C new file mode 100644 index 000000000..4fd651d6c --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/tmplattr2.C @@ -0,0 +1,18 @@ +// PR c++/17743 + +template <unsigned Len, unsigned Align> +struct aligned_storage +{ + typedef char type[Len] __attribute__((aligned((Align)))); +}; + +template<typename T> +struct X +{ + typename aligned_storage<sizeof(T),__alignof(T)>::type data; +}; + +template<bool> struct StaticAssert; +template<> struct StaticAssert<true> {}; + +StaticAssert<__alignof (X<double>) == __alignof (double)> dummy; |