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

    <tr>
        <th>Summary</th>
        <td>
            Why Isn't `-Wsign-conversion` Included in `-Wall` and `-Wextra`?
        </td>
    </tr>

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

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

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

<pre>
    I find it puzzling that the `-Wsign-conversion` flag is not included in `-Wall -Wextra`. Is there a specific reason for this?

Here's a simple example:

```c
// demo.c
#include <stdio.h>

int main() {
    unsigned long a = 1;
    signed long b = 2;
 printf("%llu\n", (long long unsigned int)(a + b));
    return 0;
}
```

Testing it with the latest Clang compiler:

```
$ ./bin/clang demo.c -Wall -Wextra 

$ ./bin/clang demo.c -Wsign-conversion
demo.c:6:49: warning: implicit conversion changes signedness: 'long' to 'unsigned long' [-Wsign-conversion]
    6 | printf("%llu\n", (long long unsigned int)(a + b));
      | ~ ^
1 warning generated.

$ ./bin/clang demo.c -Werror -Wsign-conversion
demo.c:6:49: error: implicit conversion changes signedness: 'long' to 'unsigned long' [-Werror,-Wsign-conversion]
 6 |   printf("%llu\n", (long long unsigned int)(a + b));
      | ~ ^
1 error generated.
```

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy8lM1u4zYQx59mdBlYoEhTHwcdFLvC-tZDgZwpaSyxpSmDpJLNHvrsBSWlSbrdYi8pYJgazgc5vz8xyns9WqIa5APIc6KWMM2u_lX_ofpp-fLSJN08vNQXvGo7oA54X759M9qOGCYVMEyEkLPDY6xy6Gf7RM7r2ULO8GrUiNqjnQNq25tloAG13eKVMXh4pK_BKchZihcfazlChf5Ovb7qHh0pP1u8zg7DpD2IFlgDrPlCjoAXPsbq290Q0lcVVxDNFgE52359NHgLvMWBbnO62WK_DoI4-TDoOZ1A_LKlahvwprQFXgKvEIoHYA0i4mJXUgOa2Y6oEMQZMxCv7vfObnXy3Xl32obrWo8Dl8YsIE92NU4IvFxT1r-_j9A2AK-AlwqBP2C3GtXbYY7C4iyybQeK8_uetz5-Ix-iTDrgsw7TqpRRgXzAk1F2xH6-3bUh9z20ldERU-BtF0G0_ZqwAcQP2uGe-l_h_3warNmlEE0OojlWIBp8Vs5qO8bPKKnudcC3HOwnZUfyO2VL3sdI4EXkBrzAMEfrg0ZxG-TD9xeQ5x1jjlCcPkMfXAv_iSDjq8peu8ORLDkVaEh_ghs5N7uf5bcGfwq9rTI__YjjBhH_D4wbkY8Q3z3aZKjFUIlKJVRnxTHLcikKmUy14pSTOA68JHnNRSaJyyLrKjXwgXUlJbrmjEsmmGQV41KmXdZ1ZXlVJRuuJc8GODK6KW1SY55u6ezGRHu_UJ3xqpRZYlRHxq8zlHNLz7h6Y-_ynLg6Jh26ZfRwZEb74N_KBB0M1Y_TC168BV6EH47Ty7-M0Liv7LDZr8MURJssztRTCPco9Db_Rh2mpUv7-Qa8jcfvy-Hu5t-pD8Db9dIeeLt39VTzvwIAAP__5s3Yzw">