| // { dg-do compile { target c++11 } } |
| // { dg-options "-g" } |
| // Origin: <jan at etpmod dot phys dot tue dot nl> |
| // PR c++/19508: avoid attributes for template parameters |
| |
| template <typename T> |
| struct BVector |
| { |
| typedef T T2; |
| typedef T value_type [[gnu::aligned(8)]]; // { dg-bogus "attribute" "attribute" } |
| typedef T2 value_type2 [[gnu::aligned(8)]]; // { dg-bogus "attribute" "attribute" } |
| value_type v; |
| }; |
| BVector<int> m; |
| |
| template <template <class> class T> |
| struct BV2 |
| { |
| typedef T<float> value_type [[gnu::aligned(8)]]; // { dg-bogus "attribute" "attribute" } |
| value_type v; |
| }; |
| BV2<BVector> m2; |