(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
opt/
pr104880.C
// { dg-do compile }
// { dg-options "-O2 -Wno-pmf-conversions -fno-checking" }

class c {
  long b;
};
class B {
public:
  typedef void *d;
};
class aa {
public:
  aa(B::d);
};
class e : public B {
public:
  e();
};
unsigned int f;
struct g {
  struct h : c {
    h(unsigned int &i) : c(reinterpret_cast<c &>(i)) {}
    unsigned int ad();
  };
};
class n : g {
public:
  n(int);
  void j() {
    unsigned int a;
    h k(a);
    __atomic_compare_exchange_n(&f, &a, k.ad(), true, 3, 0);
  }
};
int l;
class m : e {
  void ar() {
    n b(l);
    b.j();
  }
  virtual void bd() { aa(d(&m::ar)); }
};
void o() { new m; }