https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96452
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- Not a bug, the standard requires a diagnostic, a warning is a diagnostic. There are loads of existing bugs about this in bugzilla. GCC produces errors for constants where narrowing is known to change the value, and a warning otherwise.