diff options
author | Ehsan Akhgari <ehsan.akhgari@gmail.com> | 2015-03-25 00:53:33 +0000 |
---|---|---|
committer | Ehsan Akhgari <ehsan.akhgari@gmail.com> | 2015-03-25 00:53:33 +0000 |
commit | c07d1e23fb25688f6282f114deb9fc6f9e6985c9 (patch) | |
tree | 69cf4518db39c2f2b6120a7b38395e0d3d18ba9b /clang/test/FixIt/fixit-cxx0x.cpp | |
parent | 93ed5cf5e62e828248ec80ba3a032df1d2159fdc (diff) | |
download | bcm5719-llvm-c07d1e23fb25688f6282f114deb9fc6f9e6985c9.tar.gz bcm5719-llvm-c07d1e23fb25688f6282f114deb9fc6f9e6985c9.zip |
Diagnose ref-qualifiers occuring after virt-specifier-seq and generate fixit hints
Summary: Follow-up to the fix of PR22075.
Reviewers: rsmith
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D7012
llvm-svn: 233161
Diffstat (limited to 'clang/test/FixIt/fixit-cxx0x.cpp')
-rw-r--r-- | clang/test/FixIt/fixit-cxx0x.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/clang/test/FixIt/fixit-cxx0x.cpp b/clang/test/FixIt/fixit-cxx0x.cpp index 6e096e5e78e..5aebcb3defa 100644 --- a/clang/test/FixIt/fixit-cxx0x.cpp +++ b/clang/test/FixIt/fixit-cxx0x.cpp @@ -159,7 +159,7 @@ namespace MisplacedParameterPack { void redundantEllipsisInNonTypeTemplateParameter(); } -namespace MisplacedDeclSpecAfterVirtSpec { +namespace MisplacedDeclAndRefSpecAfterVirtSpec { struct B { virtual void f(); virtual void f() volatile const; @@ -168,4 +168,12 @@ namespace MisplacedDeclSpecAfterVirtSpec { virtual void f() override; virtual void f() override final const volatile; // expected-error {{'const' qualifier may not appear after the virtual specifier 'final'}} expected-error {{'volatile' qualifier may not appear after the virtual specifier 'final'}} }; + struct B2 { + virtual void f() &; + virtual void f() volatile const &&; + }; + struct D2 : B2 { + virtual void f() override &; // expected-error {{'&' qualifier may not appear after the virtual specifier 'override'}} + virtual void f() override final const volatile &&; // expected-error {{'const' qualifier may not appear after the virtual specifier 'final'}} expected-error {{'volatile' qualifier may not appear after the virtual specifier 'final'}} expected-error {{'&&' qualifier may not appear after the virtual specifier 'final'}} + }; } |