https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112463
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So digging through the history and I find this: https://gcc.gnu.org/pipermail/gcc-patches/1999-December/024572.html Which added the original place for the warning. There has been improvements to it later on about enum types and constants but the option has been that way since then. One problem with -Wsign-conversion is that it is not enabled with -Wextra/-Wall . Maybe there should be a 3rd option added for this that gets enabled for -Wextra (C)/-Wall(C++) .