https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61760
--- Comment #2 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- I see now that the C FE has a FE optimization (short_shift in build_binary_op) that the C++ FE doesn't have. The optimization is probably useless for code generation, but for improving -Wconversion, it would need to be moved to c-common.c and used in unsafe_conversion_p, like we do with shorten_binary_op. I don't have time to work on this, so any help is welcome.