summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/warn-unreachable.cpp
diff options
context:
space:
mode:
authorMike Stump <mrs@apple.com>2010-01-21 23:15:53 +0000
committerMike Stump <mrs@apple.com>2010-01-21 23:15:53 +0000
commit60dbeebee8f06c3a128b172365d15d919646c823 (patch)
tree2a1fb7d9a540fa999525583ea8d0605b8c21b817 /clang/test/SemaCXX/warn-unreachable.cpp
parent7b151e9f06b10073aa71a2409bb56c4ab06a45ef (diff)
downloadbcm5719-llvm-60dbeebee8f06c3a128b172365d15d919646c823.tar.gz
bcm5719-llvm-60dbeebee8f06c3a128b172365d15d919646c823.zip
Improve unreachable code warnings with respect to dead member and
dead array references. llvm-svn: 94115
Diffstat (limited to 'clang/test/SemaCXX/warn-unreachable.cpp')
-rw-r--r--clang/test/SemaCXX/warn-unreachable.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/warn-unreachable.cpp b/clang/test/SemaCXX/warn-unreachable.cpp
index 9e3eb163af5..a7ed91d6e27 100644
--- a/clang/test/SemaCXX/warn-unreachable.cpp
+++ b/clang/test/SemaCXX/warn-unreachable.cpp
@@ -46,3 +46,31 @@ void test3() {
float // expected-warning {{will never be executed}}
(halt());
}
+
+void test4() {
+ struct S {
+ int mem;
+ } s;
+ S &foor();
+ halt(), foor()
+ .mem; // expected-warning {{will never be executed}}
+}
+
+void test5() {
+ struct S {
+ int mem;
+ } s;
+ S &foor() __attribute__((noreturn));
+ foor()
+ .mem; // expected-warning {{will never be executed}}
+}
+
+void test6() {
+ struct S {
+ ~S() { }
+ S(int i) { }
+ };
+ live(),
+ S // expected-warning {{will never be executed}}
+ (halt());
+}
OpenPOWER on IntegriCloud