diff options
author | Francois Pichet <pichet2000@gmail.com> | 2010-10-01 21:19:28 +0000 |
---|---|---|
committer | Francois Pichet <pichet2000@gmail.com> | 2010-10-01 21:19:28 +0000 |
commit | 6d76e6cd9250bafd577aa044c0e2ad5909b90014 (patch) | |
tree | 9c97c05548359cd1f6f5c0d408901a754bd722de /clang/test | |
parent | e6712983d24fe1e87d297450a57fd012c971f65f (diff) | |
download | bcm5719-llvm-6d76e6cd9250bafd577aa044c0e2ad5909b90014.tar.gz bcm5719-llvm-6d76e6cd9250bafd577aa044c0e2ad5909b90014.zip |
Better diagnostic for superfluous scope specifier inside a class definition for member functions. + Fixit.
Example:
class A {
void A::foo(); //warning: extra qualification on member 'foo'
};
llvm-svn: 115347
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/FixIt/fixit.cpp | 5 | ||||
-rw-r--r-- | clang/test/SemaCXX/class.cpp | 2 | ||||
-rw-r--r-- | clang/test/SemaCXX/nested-name-spec.cpp | 4 |
3 files changed, 10 insertions, 1 deletions
diff --git a/clang/test/FixIt/fixit.cpp b/clang/test/FixIt/fixit.cpp index 9b39c9e8a57..95d8a88af1f 100644 --- a/clang/test/FixIt/fixit.cpp +++ b/clang/test/FixIt/fixit.cpp @@ -66,3 +66,8 @@ CT<1> main(void); // expected-error{{'main' must return 'int'}} // typedef CT<1> mainT(void); // mainT main; // TODO +// extra qualification on member +class C { + int C::foo(); +}; + diff --git a/clang/test/SemaCXX/class.cpp b/clang/test/SemaCXX/class.cpp index ad0792c9c42..7c6a62f41e1 100644 --- a/clang/test/SemaCXX/class.cpp +++ b/clang/test/SemaCXX/class.cpp @@ -117,7 +117,7 @@ struct C4 { struct S { void f(); // expected-note 1 {{previous declaration}} - void S::f() {} // expected-error {{class member cannot be redeclared}} expected-note {{previous declaration}} expected-note {{previous definition}} + void S::f() {} // expected-warning {{extra qualification on member}} expected-error {{class member cannot be redeclared}} expected-note {{previous declaration}} expected-note {{previous definition}} void f() {} // expected-error {{class member cannot be redeclared}} expected-error {{redefinition}} }; diff --git a/clang/test/SemaCXX/nested-name-spec.cpp b/clang/test/SemaCXX/nested-name-spec.cpp index 0dc1097e386..bef8570bffc 100644 --- a/clang/test/SemaCXX/nested-name-spec.cpp +++ b/clang/test/SemaCXX/nested-name-spec.cpp @@ -244,3 +244,7 @@ namespace PR7133 { return false; } } + +class CLASS { + void CLASS::foo2(); // expected-warning {{extra qualification on member 'foo2'}} +}; |