(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
tree-ssa/
pr93845.C
/* { dg-do compile } */
/* { dg-options "-O1" } */

struct g;
struct h {
  g *operator->();
};
class i {
  void *a;
  int b;

public:
  template <typename f> f j() { return *static_cast<f *>(this); }
};
struct k : i {};
struct l : k {};
struct m {
  i n();
  i o(l, l, int);
};
struct g {
  void m_fn4(k);
};
h a;
i b;
i m::n() {
  l c, d, e = o(d, c, 0).j<l>();
  a->m_fn4(e);
  return b;
}