1// { dg-do compile { target c++11 } } 2// { dg-prune-output "expected ';'" } 3// { dg-prune-output "expected unqualified-id" } 4// { dg-prune-output "declaration does not declare anything" } 5 6struct B 7{ 8 virtual auto f() -> void final; 9 virtual auto g() -> void; 10}; 11 12struct B2 13{ 14 virtual auto f() -> void final {} 15}; 16 17struct B3 18{ 19 virtual auto f() -> final void; // { dg-error "type" } 20}; 21 22struct B4 23{ 24 virtual auto f() -> final void {} // { dg-error "type" } 25}; 26 27struct D : B 28{ 29 virtual auto g() -> void override; 30}; 31 32struct D2 : B 33{ 34 virtual auto g() -> void override {} 35}; 36 37struct D3 : B 38{ 39 virtual auto g() -> override void; // { dg-error "type" } 40}; 41 42struct D4 : B 43{ 44 virtual auto g() -> override void {} // { dg-error "type" } 45}; 46