summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/undefined-internal.cpp
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2013-01-31 01:34:31 +0000
committerNick Lewycky <nicholas@mxc.ca>2013-01-31 01:34:31 +0000
commit35d2359b1c944b03f5b4c114c3b41f408e82051b (patch)
treef7e4ebc00e363a6c137447092319cdd2a68f5653 /clang/test/SemaCXX/undefined-internal.cpp
parentae1f040d764d30dd5f0052586e77f831f75f6467 (diff)
downloadbcm5719-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.cpp13
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}}
+ }
+}
OpenPOWER on IntegriCloud