view gcc/testsuite/g++.dg/ipa/pr68851.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
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();
}