diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-10-15 04:01:16 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-10-15 04:01:16 +0000 |
commit | a34f9c7fd55977f977c7356f95b8e35a25532dbf (patch) | |
tree | d3003e44da144f75eca7fb734a4032b4908aec84 /clang | |
parent | bffe88027cc21e4995698ac2c63fec46e0fc0ac1 (diff) | |
download | bcm5719-llvm-a34f9c7fd55977f977c7356f95b8e35a25532dbf.tar.gz bcm5719-llvm-a34f9c7fd55977f977c7356f95b8e35a25532dbf.zip |
Use of override keywords in C++98 should produce a warning by default.
llvm-svn: 142050
Diffstat (limited to 'clang')
-rw-r--r-- | clang/include/clang/Basic/DiagnosticParseKinds.td | 2 | ||||
-rw-r--r-- | clang/test/Parser/cxx0x-in-cxx98.cpp | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/clang/include/clang/Basic/DiagnosticParseKinds.td b/clang/include/clang/Basic/DiagnosticParseKinds.td index 4b2343ddaa2..59fc1d6ea8e 100644 --- a/clang/include/clang/Basic/DiagnosticParseKinds.td +++ b/clang/include/clang/Basic/DiagnosticParseKinds.td @@ -488,7 +488,7 @@ def err_alias_declaration_specialization : Error< "%select{partial specialization|explicit specialization|explicit instantiation}0 of alias templates is not permitted">; // C++11 override control -def ext_override_control_keyword : Extension< +def ext_override_control_keyword : ExtWarn< "'%0' keyword accepted as a C++11 extension">, InGroup<CXX11>; def err_duplicate_virt_specifier : Error< diff --git a/clang/test/Parser/cxx0x-in-cxx98.cpp b/clang/test/Parser/cxx0x-in-cxx98.cpp index 9e41a700a98..95ceafdfc5c 100644 --- a/clang/test/Parser/cxx0x-in-cxx98.cpp +++ b/clang/test/Parser/cxx0x-in-cxx98.cpp @@ -8,3 +8,11 @@ struct X { }; } +struct B { + virtual void f(); + virtual void g(); +}; +struct D final : B { // expected-warning {{'final' keyword accepted as a C++11 extension}} + virtual void f() override; // expected-warning {{'override' keyword accepted as a C++11 extension}} + virtual void g() final; // expected-warning {{'final' keyword accepted as a C++11 extension}} +}; |