// { dg-do compile { target c++11 } } // { dg-prune-output "expected ';'" } // { dg-prune-output "expected unqualified-id" } // { dg-prune-output "declaration does not declare anything" } struct B { virtual auto f() -> void final; virtual auto g() -> void; }; struct B2 { virtual auto f() -> void final {} }; struct B3 { virtual auto f() -> final void; // { dg-error "type" } }; struct B4 { virtual auto f() -> final void {} // { dg-error "type" } }; struct D : B { virtual auto g() -> void override; }; struct D2 : B { virtual auto g() -> void override {} }; struct D3 : B { virtual auto g() -> override void; // { dg-error "type" } }; struct D4 : B { virtual auto g() -> override void {} // { dg-error "type" } };