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

    <tr>
        <th>Summary</th>
        <td>
            [clang-tidy] false-positive bugprone-branch-clone when switch case fallthrough with some Side Effects exp
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang-tidy
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          hstk30-hw
      </td>
    </tr>
</table>

<pre>
    https://godbolt.org/z/zshW85bME

```
int test1(int a) {
    int b = 0;
    switch (a) {
        case 1: b++; // fall through
        case 2: b++;  // fall through
        case 3: b++;  // fall through
        case 4: b++;  // fall through
 default: ;
    }
    return b;
}
```

In the case, every `case` is fall through. 
So, in fact, the branchs is not identical in semantic.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyck02T2ywMxz-NfNE4g7EdOwcfNk82M8-hpz30DEY2tMRkjLzp9tN3cNJ9SXvYqQcDEvox4o9QMbpxIuqg3kN9yNTCNsydjfy9FLm9ZDqYl84ynyOUDyCPII9jMDp43oR5BHn8mf5ov7a1_vII4gDi4dZvxa2tppsYmSIXINs0VyB3CM3-uoqImLwaoTyggPKdP14c9xZBtn8y6etVJCygfEANcp9aucdrqjgo75HtHJbR_oWSd9QnsfLfsOrzmKFBLZ4T8EELaA5vxky8zBPq14jX1Tvtr_3_E7KlNRWQ_yE90_yCsBWrYyvQxQ-ZbPCKPYUU7SYcVM9pmjbRs5p6GxMzBUZnaGLXK5_iIp1UsjZXPjNdaXblTmXUFU1RNG1bVHVmu2E7tKZq26bfFooaGhpjTE1VoY0qtGoz10khK1GWQrSVlPWGlFKlIdoNRaMbaqASdFLOb7x_PqV6zFyMC3VtU1TbzCtNPq6VLWXv1TTm7MwLSJkqfe4SlOtljFAJ7yLHt23YsV_fxDusPiR5IuXnEB27Z0K9jOc5TJRf1ch7HybCi6Xpd82u155EvWmKF8cWYzgRPjlD-DgM1HNE-nHOltnfPzTHdtGbPpxAHlNutyE_z-Ebpcs4rueNII_rkX8FAAD__-IjHPc">