1 // { dg-do compile { target c++11 } }
2 // { dg-options "-g" }
3 // Origin: <jan at etpmod dot phys dot tue dot nl>
4 // PR c++/19508: avoid attributes for template parameters
5 
6 template <typename T>
7 struct BVector
8 {
9   typedef T T2;
10     typedef T value_type [[gnu::aligned(8)]];    // { dg-bogus "attribute" "attribute" }
11     typedef T2 value_type2 [[gnu::aligned(8)]];  // { dg-bogus "attribute" "attribute" }
12   value_type v;
13 };
14 BVector<int> m;
15 
16 template <template <class> class T>
17 struct BV2
18 {
19     typedef T<float> value_type [[gnu::aligned(8)]]; // { dg-bogus "attribute" "attribute" }
20   value_type v;
21 };
22 BV2<BVector> m2;
23