1// { dg-do assemble } 2 3enum E { e }; 4 5template <const E* ep> 6struct S1 7{ 8 static const char* s; 9}; 10 11template <int D> 12struct S2 {}; 13 14template <> 15struct S2<1> 16{ 17 static E es[1]; 18}; 19 20struct S3 21{ 22 typedef S1<S2<1>::es> S3_Type; 23}; 24 25E S2<1>::es[1] = {e}; 26 27template <> 28const char* S1<S2<1>::es>::s = "abc"; 29