2018-11-07 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / g++.dg / torture / pr42110.C
blobc778b4f2fd73db3b7f85a527535c3655d8b36c69
1 /* { dg-do compile } */
2 bool foo();
4 struct A
6   A* fooA() { if (foo()) foo(); return this; }
8   virtual void barA(char);
9 };
11 template<int> struct B
13   A *p, *q;
15   void fooB(char c) { p->fooA()->barA(c); }
18 template<int N> inline void bar(B<N> b) { b.fooB(0); }
20 extern template void bar(B<0>);
22 void (*f)(B<0>) = bar;
24 void baz()
26   B<0>().fooB(0);