================ @@ -50,28 +50,17 @@ void test2() { b = d; a -= d; + clang_analyzer_warnIfReached(); // expected-warning {{REACHABLE}} + if (a != 0) return; - clang_analyzer_warnIfReached(); // expected-warning{{REACHABLE}} - - /* The BASELINE passes these checks ('wrning' is used to avoid lit to match) - // The parent state is already infeasible, look at this contradiction: - clang_analyzer_eval(b > 0); // expected-wrning{{FALSE}} - clang_analyzer_eval(b <= 0); // expected-wrning{{FALSE}} - // Crashes with expensive checks. - if (b > 0) { - clang_analyzer_warnIfReached(); // no-warning, OK - return; - } - // Should not be reachable. - clang_analyzer_warnIfReached(); // expected-wrning{{REACHABLE}} - */ + clang_analyzer_warnIfReached(); // no-warning: Even the parent state is unreachable. // The parent state is already infeasible, but we realize that only if b is // constrained. - clang_analyzer_eval(b > 0); // expected-warning{{UNKNOWN}} - clang_analyzer_eval(b <= 0); // expected-warning{{UNKNOWN}} + clang_analyzer_eval(b > 0); // no-warning + clang_analyzer_eval(b <= 0); // no-warning if (b > 0) { clang_analyzer_warnIfReached(); // no-warning return; ---------------- NagyDonat wrote:
Perhaps just delete this part of the test now that it's completely unreachable behind a `warnIfReached()` that does not trigger? https://github.com/llvm/llvm-project/pull/112583 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits