<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/60122>60122</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [clang static analyzer] `clang_analyzer_eval` result error for `((c ^= b || b) == b)`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          0-0x41
      </td>
    </tr>
</table>

<pre>
    version: clang(trunk)
parameters: `--analyze -Xclang -analyzer-stats -Xclang -analyzer-checker=core,debug.ExprInspection`
case:

```c
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);
        if ((c ^= b || b) == b)
        {
            *(int *)0;
        }
 }
}

```
See it live: https://godbolt.org/z/rza1dfY7W.

In this case, the eval result for line 6 is FALSE and TRUE, however, it is a little odd that analyzer's eval result for `(c ^= b || b) == b` (line 9) within the if branch is FALSE. On top of the FALSE given by analyzer, it instead goes into the next if branch to do the analysis.

This case is a bit like issue https://github.com/llvm/llvm-project/issues/60118, except that `clang_analyzer_eval` does not have an effect on the result of analyzer.

Thanks a lot for taking the time to review this case.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVN-P4jYQ_muclxHIOJDAQx64ZZFOqlSpd1Xbp5PtTBIXr43sIfvjr6_sAMvdbttTexGC2J5v_M03HyNjNL1DbNjqA1vtCnmiwYeGz_jTclEo3z43I4ZovGPlFrSVrmdiTeHkDkxsGN8xvj3KIB-QMMQUwyo-m0kn7fMLwuz3DIHLRphFkhTf2dcD6gMGVu60D8jEXYvq1M_vn47ho4tH1JQ4VHy6UsuIrNxOi_N3xaePntajN-1E-Mvlki84SsvEOjEvP9yCc7BkYm0cgbpWxupzFABAOtLAyh2IK_pvL1hrYKv7FKyA1XesvstpEzxv3lLIyTv4btwE-opben4Ulf9G5_y8YZU3xfYsbX7b8Df3sXp3LWt30X73bnun5SdEMATWjMkHMBAdk_uY2DOx732rvKW5Dz0T-xcm9uFFLtruj_q3-W3Ojw5oMBGym8Qd0ICQZIOA8WQJOh_AGodQgYmw3_706R6ka-HzL7_ep_jBP-KIIb0aSiESrCGyCL5tgQZJcGkHE3V8kztV8-8SVzz1IvPYpINHQ4NxmazpQAXp9HDlN4efHZA_gu9yxES6NyM6UM83dCbKLhLKFnqPMfnbZ4zDJ7pJTR7a6SCjo4lfifj5ouAkgMpdOaRVPOG3jTE0nNRc-wcm9taOl5_ZMfg_URMT-wyLTOwrvlisE0980nikSc70937H5hWHNpXgPMEgx8QUsOtQE_hJqbPqvrtK8E0R0h1y__zUGpIH4_oMJfOASYSAo8HHV8fMi7Yp2025kQU2i6pe8rJeCl4MzWrFl8irkleiLJVaKRStLJdrXul6jaUqTCO4KFOBCy7KJZ-v1pq3Zd2iUoLXnWRLjg_S2HlSJ_m4yLo0FV8IUVip0MbLyA5NllCd-siW3JpI8RVGhmwe7tO8TdPX6FcbrHb_IOlZMwzBhxu_ft9UqHhxCrb5X_0X4q8AAAD__24L8pU">