Home | History | Annotate | Download | only in SemaCXX

Lines Matching full:virtual

5   virtual int f(); // expected-note{{overridden virtual function is here}}
9 virtual void f(); // expected-error{{virtual function 'f' has a different return type ('void') than the function it overrides (which has return type 'int')}}
20 virtual a* f(); // expected-note{{overridden virtual function is here}}
24 virtual b* f(); // expected-error{{return type of virtual function 'f' is not covariant with the return type of the function it overrides ('T2::b *' is not derived from 'T2::a *')}}
35 virtual a* f(); // FIXME: desired-note{{overridden virtual function is here}}
39 virtual b* f(); // expected-error{{invalid covariant return for virtual function: 'T3::a' is a private base class of 'T3::b'}}
51 virtual a* f(); // expected-note{{overridden virtual function is here}}
55 virtual b* f(); // expected-error{{return type of virtual function 'f' is not covariant with the return type of the function it overrides (ambiguous conversion from derived class 'T4::b' to base class 'T4::a':\n\
67 virtual a* const f();
68 virtual a* const g(); // expected-note{{overridden virtual function is here}}
72 virtual a* const f();
73 virtual a* g(); // expected-error{{return type of virtual function 'g' is not covariant with the return type of the function it overrides ('T5::a *' has different qualifiers than 'T5::a *const')}}
83 virtual const a* f();
84 virtual a* g(); // expected-note{{overridden virtual function is here}}
88 virtual a* f();
89 virtual const a* g(); // expected-error{{return type of virtual function 'g' is not covariant with the return type of the function it overrides (class type 'const T6::a *' is more qualified than class type 'T6::a *'}}
103 virtual b* f();
112 virtual a *f();
116 b* f(); // expected-error {{return type of virtual function 'f' is not covariant with the return type of the function it overrides ('T8::b' is incomplete)}}
128 virtual a *f();
132 virtual b<int> *f(); // expected-note {{in instantiation of template class 'T9::b<int>' requested here}}
138 virtual void f0();
146 void f(int) = 0; // expected-error{{not virtual and cannot be declared pure}}
149 struct Base1 { virtual void f(int); };
170 virtual void f(int) = 0; // expected-note{{unimplemented pure virtual method}}
192 virtual Base* Method();
197 virtual Derived<int>* Method();
210 class X { virtual BaseP f(); };
211 class X1 : public X { virtual DerivedP f(); };
213 template <typename T> class Y { virtual T f(); };
214 template <typename T1, typename T> class Y1 : public Y<T> { virtual T1 f(); };
228 virtual B* f1(); // expected-note{{overridden virtual function is here}}
229 virtual TB<N>* f2(); // expected-note{{overridden virtual function is here}}
232 virtual TD<M>* f1(); // expected-error{{return type of virtual function 'f1' is not covariant with the return type of the function it overrides ('TD<1> *'}}
233 virtual D* f2(); // expected-error{{return type of virtual function 'f2' is not covariant with the return type of the function it overrides ('type_dependent_covariance::D *' is not derived from 'TB<1> *')}}
246 virtual A&& f();
250 virtual B&& f();
259 virtual A& f(); // expected-note {{overridden virtual function is here}}
263 virtual B&& f(); // expected-error {{virtual function 'f' has a different return type ('T11::B &&') than the function it overrides (which has return type 'T11::A &')}}
272 virtual A&& f(); // expected-note {{overridden virtual function is here}}
276 virtual B& f(); // expected-error {{virtual function 'f' has a different return type ('T12::B &') than the function it overrides (which has return type 'T12::A &&')}}
283 virtual void foo() {} // expected-note{{overridden virtual function is here}}
288 static void foo() {} // expected-error{{'static' member function 'foo' overrides a virtual function}}