[Bug c++/112652] g++.dg/cpp26/literals2.C FAILs
ro at CeBiTec dot Uni-Bielefeld.DE
gcc-bugzilla@gcc.gnu.org
Wed Mar 13 14:59:16 GMT 2024
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112652
--- Comment #8 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
> --- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> (In reply to ro@CeBiTec.Uni-Bielefeld.DE from comment #6)
>> > --- Comment #5 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot
>> > Uni-Bielefeld.DE> ---
>> >> --- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
>> >> Given that C++ says e.g. in https://eel.is/c++draft/lex.ccon#3.1
>> >> that program is ill-formed if some character lacks encoding in the execution
>> >> character set, I'm afraid the Solaris iconv behavior results in violation of
>>
>> Although I can barely wrap my head around the standardese there, I had a
>> look at n4928 (the last? C++23 draft), which has a different wording
>> here (p.25, 5.13.3):
>
> The testcase is for a C++26 feature, which made those ill-formed.
Should have been obvious from the pathname ;-( N4971 has that wording...
>> The current Solaris iconv behaviour certainly isn't particularly
>> intuitive and I'll ask the Solaris engineers about it. However, there's
>> the question what to do about the testcase? Just xfail it on Solaris or
>> omit just the two affected subtests there?
>
> xfailing is one possibility, but then on Solaris we'll never support C++26
> properly.
I guess it's the best solution in the short term (GCC 14), though.
> Or require using GNU libiconv rather than Solaris iconv if it can't deal with
> that?
At least document the suggestion in install.texi; I wouldn't make it a
hard requirement yet. I'll also wait what the Solaris engineers can
provide on background for the current behaviour.
FWIW, the iconv conversion tables in /usr/lib/iconv can be regenerated
from the OpenSolaris sources, modified not to do that '?' conversion.
Worked for a quick check for the UTF-8 -> ASCII example, but the '?' is
more prevalent and would need to be eradicated upstream.
More information about the Gcc-bugs
mailing list