https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109098
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Preprocessor-Options.html#index-finput-charset Even has the following: -finput-charset=charset Set the input character set, used for translation from the character set of the input file to the source character set used by GCC. If the locale does not specify, or GCC cannot get this information from the locale, the default is UTF-8. This can be overridden by either the locale or this command-line option. Currently the command-line option takes precedence if there’s a conflict. charset can be any encoding supported by the system’s iconv library routine. So I think there is a bug in that code ...