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?
On Ubuntu 26.04, with gcc version 16.0.1 20260322, the results are:

2 U+8000
-1 U+A4CF
0 U+A66F
0 U+A672
0 U+A674
0 U+A67D
0 U+A8E0
0 U+A8F1
2 U+AC00
0 U+D7C6
0 U+D7CB
0 U+D7FB
-1 U+D800
-1 U+DFFF
2 U+F900
-1 U+FAFF
0 U+FE00
-1 U+FE6F
2 U+FF01
2 U+FF60
2 U+FFE0
2 U+FFE6

On macOS 15.7.5 with Apple clang 17.0.0 (clang-1700.6.4.2):

2 U+8000
-1 U+A4CF
0 U+A66F
0 U+A672
0 U+A674
0 U+A67D
0 U+A8E0
0 U+A8F1
2 U+AC00
1 U+D7C6
1 U+D7CB
1 U+D7FB
-1 U+D800
-1 U+DFFF
2 U+F900
-1 U+FAFF
0 U+FE00
-1 U+FE6F
2 U+FF01
2 U+FF60
2 U+FFE0
2 U+FFE6

On FreeBSD 15.0 with clang 19.1.7:

2 U+8000
-1 U+A4CF
0 U+A66F
0 U+A672
0 U+A674
0 U+A67D
0 U+A8E0
0 U+A8F1
2 U+AC00
1 U+D7C6
1 U+D7CB
1 U+D7FB
-1 U+D800
-1 U+DFFF
2 U+F900
-1 U+FAFF
0 U+FE00
-1 U+FE6F
2 U+FF01
2 U+FF60
2 U+FFE0
2 U+FFE6

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.

-Dimitry

--
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

Reply via email to