https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83584
--- Comment #4 from Keith Thompson <Keith.S.Thompson at gmail dot com> --- I'm aware that the standard has not changed in this area from C90 to C99 to C11. The conversion is undefined behavior, not a constraint violation, in all three editions. If the conversion is forbidden, what syntax rule or constraint does it violate?