Re: wcwidth broken with gcc 16

Jakob Bohm via Cygwin <[email protected]> Mon, 4 May 2026 23:52:05 +0200
Newsgroups gmane.os.cygwin
Organization WiseMo A/S
Message-ID <[email protected]>
On 03/05/2026 18:14, Brian Inglis via Cygwin wrote:
> On 2026-05-03 06:00, Thomas Wolff via Cygwin wrote:
>> Am 03.05.2026 um 12:58 schrieb Dimitry Andric:
>>> On 3 May 2026, at 12:47, Thomas Wolff via Cygwin <[email protected]> 
>>> wrote:
>>>> Am 03.05.2026 um 07:35 schrieb ASSI via Cygwin:
>>>>> Thomas Wolff via Cygwin writes:
>>>>>> Observed with gcc 16:
>>>>>> For a number of character ranges, mainly (but not only) from CJK
>>>>>> ranges, wcwidth incorrectly reports width 1 instead of 2, 0, or -1.
>>>>>> Test file attached.
>>>>> Can you report this upstream, please?
>>>> I couldn't yet test it with gcc 16 on Linux as there is no Debian 
>>>> package.
>>>> Did you test it?
>>> It looks like BSD-based libc gives 1 for U+D7C6, U+D7CB and U+D7CB, 
>>> while glibc gives 0.
>> Thanks. Despite some differences, none of them gives the broken 
>> results of gcc-16 on cygwin, so I wonder whether it makes sense to 
>> report upstream at this time.
>
> It appears that libiberty does not contain any mb/wc macros/functions, 
> , and only contains safe-ctype IS... macros/functions with fixed ASCII 
> characters.
>
> Does gcc, like most GNU products, include some release of gnulib?
> Could gnulib or gcc config detect some lack of support and "fix" 
> newlib-cygwin support of Unicode properties declared in 
> wchar.h/wctype.h, or used in i18n, libunistring, and Unicode string 
> functions, especially if doing any kind of cross-bootstrap?
>
>     https://www.gnu.org/software/gnulib/MODULES.html
>
> I also note that w32api-headers/runtime are gcc runtime dependencies 
> and hope they are used only in COFF/PE-related generation?
>
Under Cygwin, does wcwidth() use Cygwin-provided table, derived either 
from upstream Unicode data or from Windows OS APIs that use OS bundled 
Unicode data?


-- 
Jakob Bohm, CIO, partner, WiseMo A/S. https://www.wisemo.com
Transformervej 29, 2860 Soborg, Denmark. direct: +45 31 13 16 10 
<tel:+4531131610>
This message is only for its intended recipient, delete if misaddressed.
WiseMo - Remote Service Management for PCs, Phones and Embedded

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple