================ @@ -0,0 +1,11 @@ +// RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-config unroll-loops=true -verify %s + +void test_escaping_on_var_before_switch_case_no_crash(int c) { + switch (c) { + int i; // expected error{{Reached root without finding the declaration of VD}} + case 0: { + for (i = 0; i < 16; i++) {} + break; + } + } +} ---------------- steakhal wrote:
It took me some time to realize that its not a verify expectation. BTW in this shape, this test fails. ```suggestion // RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-config unroll-loops=true -verify %s // expected-no-diagnostics void test_escaping_on_var_before_switch_case_no_crash(int c) { // https://github.com/llvm/llvm-project/issues/68819 switch (c) { int i; // no-crash: The declaration of `i` is found here. case 0: { for (i = 0; i < 16; i++) {} break; } } } ``` I'd also suggest to rename the test file to highlight that this is only for loop unrolling. Or maybe even better, just append this to the end of `clang/test/Analysis/loop-unrolling.cpp`. https://github.com/llvm/llvm-project/pull/82089 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits