diff options
Diffstat (limited to 'test/SemaCXX/unreachable-code.cpp')
-rw-r--r-- | test/SemaCXX/unreachable-code.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/test/SemaCXX/unreachable-code.cpp b/test/SemaCXX/unreachable-code.cpp index 743290e1b9e5..fd006c099e7d 100644 --- a/test/SemaCXX/unreachable-code.cpp +++ b/test/SemaCXX/unreachable-code.cpp @@ -1,17 +1,29 @@ -// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -fsyntax-only -Wunreachable-code -fblocks -verify %s +// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -fsyntax-only -Wunreachable-code-aggressive -fblocks -verify %s int j; -void bar() { } +int bar(); int test1() { for (int i = 0; i != 10; - ++i) { // expected-warning {{will never be executed}} + ++i) { // expected-warning {{loop will run at most once (loop increment never executed)}} if (j == 23) // missing {}'s bar(); return 1; } return 0; - return 1; // expected-warning {{will never be executed}} + return 1; // expected-warning {{will never be executed}} +} + +int test1_B() { + for (int i = 0; + i != 10; + ++i) { // expected-warning {{loop will run at most once (loop increment never executed)}} + if (j == 23) // missing {}'s + bar(); + return 1; + } + return 0; + return bar(); // expected-warning {{will never be executed}} } void test2(int i) { |