1 // Test for mangling of template args in a typename type. 2 3 struct A 4 { 5 template <class T> 6 struct B 7 { 8 typedef T myT; 9 }; 10 }; 11 12 struct C {}; 13 14 template <class T> 15 void f (T t, typename T::template B<C>::myT u, typename T::template B<int>::myT v); 16 main()17int main() 18 { 19 f (A(), C(), 1); 20 } 21 22 // { dg-final { scan-assembler "_Z1fI1AEvT_NS1_1BI1CE3myTENS2_IiE3myTE" } } 23