https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123201
Mikael Morin <mikael at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mikael at gcc dot gnu.org
--- Comment #4 from Mikael Morin <mikael at gcc dot gnu.org> ---
(In reply to anlauf from comment #1)
>
> val (&"U++"[1]{lb: 1 sz: 1}, "U", 3, 1);
>
Shouldn't this be:
val (&"U++"[1]{lb: 1 sz: 1}, 'U', 3, 1);
with single quote 'U' ?
(In reply to anlauf from comment #3)
>
> My best guess so far is that endianness (is 32-bit Solaris/SPARC big-endian?)
> could explain a difference to x86. Or some ABI problem passing a single
> character that was latent before and got exposed.
>
> Or sth. completely different.
There is some code that converts single char strings to characters, and your
patch in r16-3499 bypasses it (it's just after the branch the patch adds).