[PR c++/84702] ICE with default tmpl arg of overload set
[official-gcc.git] / gcc / testsuite / g++.dg / pr82155.C
blob75d9b615f3939d7529851d4eba593b6bb50c4af8
1 /* { dg-do compile { target c++11 } } */
2 /* { dg-options "-g -O2" } */
4 template <typename a> struct b { a c; };
5 template <typename d> struct e { d *operator->(); };
6 template <typename d> class h {
7 public:
8   typedef e<d> ag;
9 };
10 class i {
11 protected:
12   i(int);
14 class j {
15   virtual void k(int) = 0;
17 public:
18   int f;
19   void l() { k(f); }
21 struct m : i {
22   int cn;
23   m() : i(cn) {
24     struct n : j {
25       n() {}
26       void k(int) {}
27     };
28   }
30 struct o {
31   o() {
32     for (h<b<b<j *>>>::ag g;;)
33       g->c.c->l();
34   }
36 void fn1() { o(); }