(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
pr82155.C
/* { 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(); }