1 // Origin: PR c++/47398
16 template<class T, int a, class U, int b>
19 typedef typename A<a>::INT TINT;
23 template<class T, int a, class U>
26 typedef typename A<a>::INT TINT;
30 template<class T, int a, class U, int b>
34 int c = transform<sizeof(TINT)>::bar();//#0
37 template<class T, int a, class U>
41 int c = transform<sizeof(TINT)>::bar();//#1
49 // While instantiating
51 // template<class T, int a, class U> void B<T, a, U, 1>::foo()
53 // lookup_template_class resolves transform<sizeof(TINT)> in #1 to
54 // the wrong one; it picks up the one in #0 instead. This is because
55 // to compare the two A<a> comp_template_args uses cp_tree_equal
56 // that fails to consider the number of siblings of parm 'a'.