Re: wcwidth broken with gcc 16
Thomas Wolff via Cygwin <[email protected]> Tue, 5 May 2026 08:37:06 +0200
| Newsgroups | gmane.os.cygwin |
|---|---|
| Message-ID | <[email protected]> |
Am 04.05.2026 um 23:52 schrieb Jakob Bohm via Cygwin: > 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? Cygwin/newlib provides a wcwidth function that uses a table generated from unicode.org data, but apparently gcc 16 does not (fully?) use that function. -- 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