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

    <tr>
        <th>Summary</th>
        <td>
            Missing -Wsign-compare warning with enum values
        </td>
    </tr>

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

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

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

<pre>
    ```c
#include <stdio.h>

int main()
{
    signed int a = 1;
    enum : signed int { b = 1 };
    unsigned int c = -1;

    if (a < c) // condition is true, -Wsign-compare warns about it
        puts("a < c");

    if (b < c) // condition is true, but no warning
 puts("b < c");

    return 0;
}
```

The compiler should warn about both if statements.

$ clang --version
clang version 15.0.7
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMU02PnDgQ_TXFpQQC833gMDO9SHvY20p7XNlQDY6M3fLHTOffRwYm3VEUJa0WWPVevfcK29w5uWiiAepXqC8JD341duCK7itpKykRZv46QJMf_wnyC-QvwEqpJxVmQijfnJ-lyVYo_zrR_Sm1x41LDawD1p9I-3osEBF35xkjjyOUFyygfIJJhw2hfHnmQfuK4uAitJcf-EE_EaedlD4UHzx5RWBddHzDCViPwEZgI05Gz9JLo1E69DYQsDdM_4ui6WS2G7eEH9xqh1yY4FH6h2b83YJ3-6zsuzaLg_8qgfizBCJ41GZ3lno5RR5e4jdelnywGvMH1F7OxeeePrf8uxLGYaUii241Qc279TmzMH6N8Z3nnjbS3mXP3cAqnBTXC6bpO1knjT6Ao3iWsKizPGtPQ24X8nGb713zf1OltylVUod7uujwmckSn3EzM6lIvBkn7wf0t3aeK0XzRdoIARuDs8BGIXUyD-Xclz1PaCianpVF3uR9sg5CiGvXtBMrm1o0dG06PvGmYC1vC8FFkciB5azMu6JlrGiqPuuKvK7zgtqaqiurW6hy2rhUmVLvW2bskkjnAg1N1XZlorgg5T5vlB0iKRVhcVDlSjrvHm1eekXDP9I5GT_az4ctlj-kX4_b8M5VIJcEq4bV-5uD8uU4Oov0axDZZDZgY1Q_X-nNmi80eWDjntABG_eQ3wIAAP__yAwoNA">