view gcc/testsuite/g++.dg/ipa/pr68851.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 84e7813d76e9
children
line wrap: on
line source

// { dg-do compile }
// { dg-options "-O3" }

class A;
class B {
public:
  operator A *() const;
};
class A {
public:
  virtual bool isFormControlElement() const { return false; }
};
class C {
  struct D {
    B element;
  };
  bool checkPseudoClass(const D &, int &) const;
};
class F {
  virtual bool isFormControlElement() const;
};
class G : A, F {
  bool isFormControlElement() const { return true; }
};
bool C::checkPseudoClass(const D &p1, int &) const {
  A &a = *p1.element;
  a.isFormControlElement();
  return a.isFormControlElement() || a.isFormControlElement();
}