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

    <tr>
        <th>Summary</th>
        <td>
            [clang] Assertion `NewRange.getLower().slt(NewRange.getUpper())' failed.
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          k-arrows
      </td>
    </tr>
</table>

<pre>
    Reproducer:
https://godbolt.org/z/zYorscvnP
```c
typedef __SIZE_TYPE__ size_t;
void *memset(void *, int, size_t);

void foo(char *p) {
  size_t idx = __PTRDIFF_MAX__ - 3;

  ++idx;
  memset(p + idx, 0, 3);
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxcUk1v2zAM_TX0RYihUJYdH3xwlhoosA1B1gHrLoY_GEebYhmSnLT99YPy0RYDaFMg-Yj3SDbOqWEkKkCuQW6iZvYHY4u_i8Zac3ZRa_rXYkeTNf3ckQVRAi8P3k8uPLECrAbTt0b72NgBsHoL37OxrjuNW-AlpPxqHfDSv07U057V9Y_H3w_10_P2oa6ZU29UexBr4OXJqJ4Blkc6OvKAq3sA8AtTow_uVo_5FXJH7Y0BXHWHxob6CTBnkIUCdkMw1b8wEBtW19un3eaxqupv5a-6Zgsm3lsxBrgGXKv-5Rpj7J3LFHKhS2DBw098sMg2n9VGfSH6XORNRMUyS7JEJokQ0aHoljLFFHNM0rRN8070XcbbdNl2oqG03UeqQI6Sy2XGE86FiGW6p0wKTlKmvM1ySDgdG6VjrU_HMPVIOTdTsUy4SGSkm5a0u-wTsdPNOABiWK0tAmDRzoODhGvlvPto4ZXXlyO4IuSGlc6R9cqMDFL-nc67ZhwoHsh_NWeygCvAPHY6zOVz9uc03bMXy9i-UZr6OJqtLv67HOUPcxt35ghYBSo3t5is-UOdB6wu0hxgdVN3KvBfAAAA__9wnM0e">