https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81050
--- Comment #2 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- That's not a valid execution character set (unless char is at least 16 bits, which doesn't currently apply to any GCC target). "The basic character set shall be present and each character shall be encoded as a single byte." and "A byte with all bits zero shall be interpreted as a null character independent of shift state. Such a byte shall not occur as part of any other multibyte character.". It would be reasonable to reject any attempt to set the execution character set to UTF-16, UTF-32 or any other character sets where any member of the basic character set is mapped to more than one byte, or that use the zero byte as part of another character.