Geoffrey1014/SA_Bugs

[clang static analyzer] `clang_analyzer_eval` result error for `((c ^= b || b) == b)`

Closed this issue · 1 comments

date: 2023-1-16
commit: 0c0681b7414c385d0fd5fad302c0d48607262050
args: --analyze -Xclang -analyzer-stats -Xclang -analyzer-checker=core,debug.ExprInspection
test:

void clang_analyzer_eval();

void a(int b)
{
    int c = 2;
    clang_analyzer_eval((c ^= b || b) == b);
    if ((c ^= b || b) == b)
    {
        clang_analyzer_eval((c ^= b || b) == b);
    }
}

report: llvm/llvm-project#60122
fix:
original: