diff options
author | Mike Stump <mrs@apple.com> | 2010-01-21 23:15:53 +0000 |
---|---|---|
committer | Mike Stump <mrs@apple.com> | 2010-01-21 23:15:53 +0000 |
commit | 60dbeebee8f06c3a128b172365d15d919646c823 (patch) | |
tree | 2a1fb7d9a540fa999525583ea8d0605b8c21b817 /clang/test/SemaCXX/warn-unreachable.cpp | |
parent | 7b151e9f06b10073aa71a2409bb56c4ab06a45ef (diff) | |
download | bcm5719-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.cpp | 28 |
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()); +} |