diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2013-01-31 01:34:31 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2013-01-31 01:34:31 +0000 |
commit | 35d2359b1c944b03f5b4c114c3b41f408e82051b (patch) | |
tree | f7e4ebc00e363a6c137447092319cdd2a68f5653 /clang/test/SemaCXX/undefined-internal.cpp | |
parent | ae1f040d764d30dd5f0052586e77f831f75f6467 (diff) | |
download | bcm5719-llvm-35d2359b1c944b03f5b4c114c3b41f408e82051b.tar.gz bcm5719-llvm-35d2359b1c944b03f5b4c114c3b41f408e82051b.zip |
Fix ODR-use of a MemberExpr to check before marking a pure function used. Remove
a workaround for this bug from the -Wundefined-internals warning.
llvm-svn: 174020
Diffstat (limited to 'clang/test/SemaCXX/undefined-internal.cpp')
-rw-r--r-- | clang/test/SemaCXX/undefined-internal.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/undefined-internal.cpp b/clang/test/SemaCXX/undefined-internal.cpp index e8ee4c1e907..62c6ff96ca9 100644 --- a/clang/test/SemaCXX/undefined-internal.cpp +++ b/clang/test/SemaCXX/undefined-internal.cpp @@ -199,3 +199,16 @@ namespace test8 { } } *A; } + +namespace test9 { + namespace { + struct X { + virtual void notused() = 0; + virtual void used() = 0; // expected-warning {{function 'test9::<anonymous namespace>::X::used' has internal linkage but is not defined}} + }; + } + void test(X &x) { + x.notused(); + x.X::used(); // expected-note {{used here}} + } +} |