https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111056
--- Comment #3 from Alex Henrie <alexhenrie24 at gmail dot com> --- By the way, thanks for pointing out that using constexpr suppresses the warning on GCC. Although Clang does not support constexpr in C yet, it is interesting that Clang is smart enough to not warn about a plain const: const int a = 1; unsigned int b = 2; if (a < b) // warning here on GCC, but not on Clang puts("a < b"); I imagine that it would be difficult to change GCC's behavior to match Clang's in this case.