2 // { dg-do compile { target c++11 } }
4 template <class T> struct C;
5 template <class T> struct D;
19 friend struct C<float>;
20 friend struct D<float>;
26 template <class U> decltype (a.i) f() { return 0; } // #1
27 template <class U> decltype (b.i) f() { return 1; } // #2
33 template <class U> decltype (A::j) f() { return 2; } // #1
34 template <class U> decltype (B::j) f() { return 3; } // #2
39 C<int>().f<int>(); // calls #1
40 C<float>().f<float>(); // calls #2
41 D<int>().f<int>(); // calls #1
42 D<float>().f<float>(); // calls #2