(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
ipa/
pr96806.C
/* { dg-do compile } */                                                                        
/* { dg-options "-std=c++11 -O -fipa-cp -fipa-cp-clone --param=ipa-cp-max-recursive-depth=94 --param=logical-op-non-short-circuit=0" } */

enum a {};
struct m;
struct n {
  a d;
};
int o(int, int);
struct p {
  char d;
  char aa;
  p *ab;
  bool q() const {
    int h = d & 4;
    return h;
  }
  char r() const { return aa; }
  int s(const m *, bool) const;
} l;
struct t {
  p *ac;
  p *u() { return ac; }
  p *v(int);
};
int w(const p *, const p *, const m *, int = 0);
struct m : n {
  struct {
    t *ad;
  } ae;
  char x() const;
  p *y(int z) const { return ae.ad ? nullptr : ae.ad->v(z); }
} j;
int w(const p *z, const p *af, const m *ag, int ah) {
  int a, g = z->s(ag, true), i = af->s(ag, true);
  if (af->q()) {
    if (ag->x())
      return 0;
    ah++;
    char b = af->r();
    p *c = ag->y(b), *e = ag->ae.ad->u();
    int d = w(z, c, ag, ah), f = w(z, af ? e : af->ab, ag, ah);
    a = f ? d : f;
    return a;
  }
  if (g || i == 1)
    return ag->d ? o(g, i) : o(g, i);
  return 0;
}
void ai() {
  for (p k;;)
    w(&k, &l, &j);
}