diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2017-01-13 22:16:41 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2017-01-13 22:16:41 +0000 |
commit | 509bbd1a661637794ecab7178388831cd6e57810 (patch) | |
tree | b08e7e5d8c2ea92e6658c3d862c99fe5dbeb3457 /clang/test/SemaCXX/uninitialized.cpp | |
parent | 251099171fc0df0f5efcc49039436ef9d09bc107 (diff) | |
download | bcm5719-llvm-509bbd1a661637794ecab7178388831cd6e57810.tar.gz bcm5719-llvm-509bbd1a661637794ecab7178388831cd6e57810.zip |
PR31631: fix bad CFG (and bogus warnings) when an if-statement has an init-statement and has binary operator as its condition.
llvm-svn: 291964
Diffstat (limited to 'clang/test/SemaCXX/uninitialized.cpp')
-rw-r--r-- | clang/test/SemaCXX/uninitialized.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/clang/test/SemaCXX/uninitialized.cpp b/clang/test/SemaCXX/uninitialized.cpp index 51a2d687205..e4928b8566c 100644 --- a/clang/test/SemaCXX/uninitialized.cpp +++ b/clang/test/SemaCXX/uninitialized.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fsyntax-only -Wall -Wuninitialized -Wno-unused-value -Wno-unused-lambda-capture -std=c++11 -verify %s +// RUN: %clang_cc1 -fsyntax-only -Wall -Wuninitialized -Wno-unused-value -Wno-unused-lambda-capture -std=c++1z -verify %s // definitions for std::move namespace std { @@ -1437,3 +1437,13 @@ void array_capture(bool b) { [fname]{}; } } + +void if_switch_init_stmt(int k) { + if (int n = 0; (n == k || k > 5)) {} + + if (int n; (n == k || k > 5)) {} // expected-warning {{uninitialized}} expected-note {{initialize}} + + switch (int n = 0; (n == k || k > 5)) {} // expected-warning {{boolean}} + + switch (int n; (n == k || k > 5)) {} // expected-warning {{uninitialized}} expected-note {{initialize}} expected-warning {{boolean}} +} |