[Bug tree-optimization/82700] ICE in printf-return-value with -fexec-charset=EBCDIC-US: converting to execution character set: Invalid or incomplete multibyte or wide character
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82700 Martin Sebor changed: What|Removed |Added CC||euloanty at live dot com --- Comment #4 from Martin Sebor --- *** Bug 97620 has been marked as a duplicate of this bug. ***
[Bug tree-optimization/82700] ICE in printf-return-value with -fexec-charset=EBCDIC-US: converting to execution character set: Invalid or incomplete multibyte or wide character
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82700 Martin Sebor changed: What|Removed |Added CC||bernd.edlinger at hotmail dot de --- Comment #3 from Martin Sebor --- *** Bug 86903 has been marked as a duplicate of this bug. ***
[Bug tree-optimization/82700] ICE in printf-return-value with -fexec-charset=EBCDIC-US: converting to execution character set: Invalid or incomplete multibyte or wide character
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82700 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2017-10-25 CC||marxin at gcc dot gnu.org Ever confirmed|0 |1
[Bug tree-optimization/82700] ICE in printf-return-value with -fexec-charset=EBCDIC-US: converting to execution character set: Invalid or incomplete multibyte or wide character
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82700 --- Comment #2 from Martin Sebor --- (In reply to Martin Sebor from comment #1) > The ICE is caused by the EBCDIC-US character set in Fedora 25 apparently not > including the equivalent of the backslash character. Actually, I was off by one: the character the conversion fails for is '[' (the error is EILSEQ, Illegal byte sequence).
[Bug tree-optimization/82700] ICE in printf-return-value with -fexec-charset=EBCDIC-US: converting to execution character set: Invalid or incomplete multibyte or wide character
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82700 --- Comment #1 from Martin Sebor --- The ICE is caused by the EBCDIC-US character set in Fedora 25 apparently not including the equivalent of the backslash character. That makes the charset invalid, since C requires both the basic source and basic character sets to include it. From the comment in the file: /* The subset of the source character set used by printf conversion specifications (strictly speaking, not all letters are used but they are included here for the sake of simplicity). The dollar sign must be included even though it's not in the basic source character set. */ const char srcset[] = " 0123456789!\"#%&'()*+,-./:;<=>?[\\]^_{|}~$" "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; The sprintf pass calls lang_hooks.to_target_charset () to convert each of these characters from the source set to the execution set and the function aborts when it can't do the conversion. That seems unfriendly -- it should instead return some failure code and let the caller decide how to deal with it.