[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

2020-10-28 Thread msebor at gcc dot gnu.org via Gcc-bugs
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

2018-08-09 Thread msebor at gcc dot gnu.org
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

2017-10-25 Thread marxin at gcc dot gnu.org
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

2017-10-24 Thread msebor at gcc dot gnu.org
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

2017-10-24 Thread msebor at gcc dot gnu.org
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.