diff options
author | Reid Kleckner <reid@kleckner.net> | 2014-12-18 00:42:51 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2014-12-18 00:42:51 +0000 |
commit | ae628965c4afb428a927b78acf66f056c254e99b (patch) | |
tree | aa0e69302e07871ac86e59574f8d8f4f0434ef29 /clang/test/SemaCXX/using-decl-1.cpp | |
parent | 323ddf97bad613d5c732412fd08965c48bed85f4 (diff) | |
download | bcm5719-llvm-ae628965c4afb428a927b78acf66f056c254e99b.tar.gz bcm5719-llvm-ae628965c4afb428a927b78acf66f056c254e99b.zip |
Fix diagnostic for static methods referencing fields from using decls
Previously we thought the instance member was a function, not a field,
and we'd say something silly like:
t.cpp:4:27: error: call to non-static member function without an object argument
static int f() { return n; }
^
Noticed in PR21923.
llvm-svn: 224480
Diffstat (limited to 'clang/test/SemaCXX/using-decl-1.cpp')
-rw-r--r-- | clang/test/SemaCXX/using-decl-1.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/using-decl-1.cpp b/clang/test/SemaCXX/using-decl-1.cpp index 40f80a70ef3..e730c9d63a2 100644 --- a/clang/test/SemaCXX/using-decl-1.cpp +++ b/clang/test/SemaCXX/using-decl-1.cpp @@ -255,3 +255,11 @@ namespace TypoCorrectTemplateMember { using A::goobar; // expected-error {{no member named 'goobar' in 'TypoCorrectTemplateMember::A'; did you mean 'foobar'?}} }; } + +namespace use_instance_in_static { +struct A { int n; }; +struct B : A { + using A::n; + static int f() { return n; } // expected-error {{invalid use of member 'n' in static member function}} +}; +} |