Home | History | Annotate | Download | only in SemaCXX

Lines Matching defs:base

22 struct Base {
27 struct Derived : Base {
30 struct Convertible { operator Base&(); };
31 struct Priv : private Base {}; // expected-note 4 {{declared private here}}
32 struct Mid : Base {};
91 Base base;
94 Base &bar1 = i1 ? base : derived;
95 Base &bar2 = i1 ? derived : base;
96 Base &bar3 = i1 ? base : conv;
97 Base &bar4 = i1 ? conv : base;
109 extern const Base constret();
112 A a1((i1 ? constret() : Base()).trick());
113 A a2((i1 ? Base() : constret()).trick());
117 i1 = (i1 ? Base() : Base()).trick();
118 i1 = (i1 ? Base() : Base()).trick();
119 i1 = (i1 ? Base() : Derived()).trick();
120 i1 = (i1 ? Derived() : Base()).trick();
122 (void)(i1 ? Base() : constder()); // expected-error {{incompatible operand types ('Base' and 'const Derived')}}
123 (void)(i1 ? constder() : Base()); // expected-error {{incompatible operand types ('const Derived' and 'Base')}}
127 (void)(i1 ? Base() : Priv()); // expected-error{{private base class}}
128 (void)(i1 ? Priv() : Base()); // expected-error{{private base class}}
129 (void)(i1 ? Base() : Fin()); // expected-error{{ambiguous conversion from derived class 'Fin' to base class 'Base':}}
130 (void)(i1 ? Fin() : Base()); // expected-error{{ambiguous conversion from derived class 'Fin' to base class 'Base':}}
131 (void)(i1 ? base : priv); // expected-error {{private base class}}
132 (void)(i1 ? priv : base); // expected-error {{private base class}}
133 (void)(i1 ? base : fin); // expected-error {{ambiguous conversion from derived class 'Fin' to base class 'Base':}}
134 (void)(i1 ? fin : base); // expected-error {{ambiguous conversion from derived class 'Fin' to base class 'Base':}}
163 pfm = i1 ? DFnPtr() : &Base::fn1;
164 pfm = i1 ? &Base::fn1 : DFnPtr();
174 Base *pb = i1 ? (Base*)0 : (Derived*)0;
175 pb = i1 ? (Derived*)0 : (Base*)0;
176 pfm = i1 ? &Base::fn1 : &Derived::fn2;
177 pfm = i1 ? &Derived::fn2 : &Base::fn1;