1 /* PR c++/3012 */ 2 /* { dg-do compile } */ 3 4 class A 5 { 6 public: 7 8 template <class T> foo()9 void foo() const 10 { 11 } 12 }; 13 14 template <class T> 15 class B 16 { 17 public: 18 bar(const A & a)19 void bar(const A& a) const 20 { 21 // Compile used to fail with parse error before `;' token 22 a.foo<double>(); 23 } 24 }; 25 main()26int main() 27 { 28 A a; 29 B<int> b; 30 b.bar(a); 31 } 32