/* { dg-do compile { target c++11 } } */ | |
/* { dg-options "-g -O2" } */ | |
template <typename a> struct b { a c; }; | |
template <typename d> struct e { d *operator->(); }; | |
template <typename d> class h { | |
public: | |
typedef e<d> ag; | |
}; | |
class i { | |
protected: | |
i(int); | |
}; | |
class j { | |
virtual void k(int) = 0; | |
public: | |
int f; | |
void l() { k(f); } | |
}; | |
struct m : i { | |
int cn; | |
m() : i(cn) { | |
struct n : j { | |
n() {} | |
void k(int) {} | |
}; | |
} | |
}; | |
struct o { | |
o() { | |
for (h<b<b<j *>>>::ag g;;) | |
g->c.c->l(); | |
} | |
}; | |
void fn1() { o(); } |