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

    <tr>
        <th>Summary</th>
        <td>
            Incorrect warning with -Wabsolute-value
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          yt87
      </td>
    </tr>
</table>

<pre>
    This issue is likely related to #25699.

OS and clang versions:
```
$ clang --version
clang version 13.0.0 (Fedora 13.0.0-3.fc35)
Target: x86_64-redhat-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
```
Test code:
```
#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>

int main(int ac, char **av)
{
    unsigned int i = 10;
    unsigned int j = 11;
    bool b;

    b = abs(i - j) < 2;
    printf("%d\n", b);
    b = i - j < 2;
    printf("%d\n", b);
    return 0;
}
```
Compilation:
```
$ clang -Wabsolute-value foo.c
foo.c:11:9: warning: taking the absolute value of unsigned type 'unsigned int' has no effect [-Wabsolute-value]
    b = abs(i - j) < 2;
        ^
foo.c:11:9: note: remove the call to 'abs' since unsigned values cannot be negative
    b = abs(i - j) < 2;
        ^~~
1 warning generated.
```
Result:
```
$ ./a.out
1
0
```
Obviously the suggestion to remove the call to ``abs`` is wrong.


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJylVd9v4ygQ_mvwC7KFcRw7D37oJltpn1baq3SPJ2zGNl0CEeC0_e9vwOm22Uv3dLcWwoPnY_jmB-PeypfuYVaeKu8XwJlq9R30C3WgRQBJg6WEV7ze7nYFYQfC7tb56x9UGEkHLcxEz-C8ssaT6qIlW3YZ65JvLsg8v2BXxdV2WlYFKxie196DtE5cPuRVMQ5VTfhu3fQg3AQBz6LP7fav7SZ3IGcRcq3M8pxPZrnAZgdC0qOVoCP4ZL16XlVfjA9Ca5AH5aKK8PvFO5x7ZW468AA-0AEtfexhpcygFwmUVHsfpFZ9MZPq8wdqZX-l7a3V7_VpVibQo0CCvI2iGAjf02EWDumjiTtx_hEh0nxaBYrPYryaDKYy7lJ4woGWjFQfIR5XRHmFiIRo_-PTO0VCi95HVjSnj8ghOkH51f6TQ9MjYgjnhNeS1HuTxD1aRdZXZyWTydhvWnIQFmfom7OkOdzM3t4eTwrrPdblv5fwn-iu1UuA_Cw0XprR2mJYUatY3cXw3e1iaT0JZ5SZohjEd5RomIG-WqCrBTu-5SC8nLAMePM-Kbiks_DUWArjCEOgpP70Mw9SH_5zXuJD6s8fkTc2xIrHQB7tGRLzAe_N2hSaZL2hHmsX3vgnLh5xBnfTHqiBCSN7hv9NrkkjfS5f40knMOBihypupusb-EWHXyWzwOsuCruEi-X1xW7iv_ZnZRePbTGGwC_ThP0gdiwMxK3YpK3RvyTErvrkrJmuGmgGXbmtd225ZZs2k10ld9VOZEEFDd0XM1jnYqJf_X1SYf5H6WWL090cwil1Xn6PY0Lc0heDPeJC6_PrKz85-4gGcZlaPcb-Hpt6s83mrhpZM7K2LeVQy5ZXJd_ARsrdZiwZ7wEyLXrQvsOiw6tm4Gn9W8RrVx8y1XHGOWvZljPGNk0x1IOoYdxxARyY5GTDABuXLiKPwropc12i1C-TR6VWPvg3pfCpkiAdh_bFEmbrupfQNlk6t0u8_wbAEOeq">