111
|
1 // { dg-do compile }
|
|
2 // { dg-options "-O3" }
|
|
3
|
|
4 class A;
|
|
5 class B {
|
|
6 public:
|
|
7 operator A *() const;
|
|
8 };
|
|
9 class A {
|
|
10 public:
|
131
|
11 virtual bool isFormControlElement() const { return false; }
|
111
|
12 };
|
|
13 class C {
|
|
14 struct D {
|
|
15 B element;
|
|
16 };
|
|
17 bool checkPseudoClass(const D &, int &) const;
|
|
18 };
|
|
19 class F {
|
|
20 virtual bool isFormControlElement() const;
|
|
21 };
|
|
22 class G : A, F {
|
131
|
23 bool isFormControlElement() const { return true; }
|
111
|
24 };
|
|
25 bool C::checkPseudoClass(const D &p1, int &) const {
|
|
26 A &a = *p1.element;
|
|
27 a.isFormControlElement();
|
131
|
28 return a.isFormControlElement() || a.isFormControlElement();
|
111
|
29 }
|