(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
inherit/
virtual15a.C
// PR c++/100797 plus diamond inheritance
// { dg-do run }

bool ok = false;
struct S1 { virtual ~S1() {} };
struct S2 { virtual void f1() = 0; };
struct S3: S1, virtual S2 {
    void f1() { f2(); }
    virtual void f2() = 0;
};
struct SX: virtual S2 { };
struct S4: SX, S3 {
  void f2() { ok = true; }
  using S2::f1;
};
int main() {
  S4().f1();
  if (!ok) __builtin_abort ();
}