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()17 int main()
18 {
19   f (A(), C(), 1);
20 }
21 
22 // { dg-final { scan-assembler "_Z1fI1AEvT_NS1_1BI1CE3myTENS2_IiE3myTE" } }
23