1 // { dg-do compile { target c++11 } }
4 virtual void f() final {}
6 virtual void x() const {}
16 virtual void g() override final {} // { dg-error "overriding" }
19 template <class T> struct D2 : T
21 void h() override {} // { dg-error "marked 'override', but does not override" }
24 template <class T> struct D3 : T
31 void g() {} // { dg-error "virtual function" }
36 virtual void f() final final {} // { dg-error "duplicate virt-specifier" }
41 void f() final {} // { dg-error "marked 'final', but is not virtual" }
46 void ff() override {} // { dg-error "marked 'override', but does not override" }
47 virtual void fff() override {} // { dg-error "marked 'override', but does not override" }
48 virtual void x() override {} // { dg-error "marked 'override', but does not override" }
52 void D5::g() override {} // { dg-error "not allowed outside a class definition" }
53 void g() override {} // { dg-error "not allowed outside a class definition" }