DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 64SHnHFD2634056 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 64SHnHFD2634056 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=HMa/bE3O X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 05CCE4BA2E28 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1779990556; bh=t8aieqlAlj/YPIspYVRugLp3dxjj0kqPH0xK7uCCFEc=; h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=HMa/bE3OX6/UVuJXwxaJHmWzDsi7QcpUyLz+ASGNDb7ODMRa9COY7q3cuO4ks+WUf bAy6xbHkP7xI+fYFX4A+ihx0ADABHXytcunfyWmN/tWoodLOj08zBLU+7JHDvDmoHc fo0jIHl/JSRDLbXlWE7cktSD+SfPA8BtefoSaR0U= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EC0644BA2E1B ARC-Filter: OpenARC Filter v1.0.0 sourceware.org EC0644BA2E1B ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1779990535; cv=none; b=wn0JAdVwBFgkVLSTWe4ZGXcCODu82PL4pVqB4k0R6bPRpRrMRX2UpafcxEC3wNOC9q5OW0uRiyYmT5WitOGxkrFXa2s+DOA3FWP3OGncFOx4gTNr3s0NTjGkpRSBGVVtuE1j/JhEMUgPqpBX8PHykHPfCzRMkCGnR25D2qXgnOs= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1779990535; c=relaxed/simple; bh=H8CCnvRJK0FM8GjQjgaDbeljKXLjlH+d/xZB0cE/Pzw=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=ZfunFn73jFYO0TO0+OMbECDbWhLXMRaH9owANmJ0QZDZSAnpQ2oSuGeNU9J/RzXMfUeX5p96pMM6pizZs4hQ25UBOb3PAPdhL/mJDIMjAOcs4+MR4qrvHPRbaj47TJuB+1SQTOyd2DbfKGroYmir2jd3SDCQdS64fbqetD2LrUg= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=towo.net header.i=towo AT towo DOT net header.a=rsa-sha256 header.s=s1-ionos header.b=CEwsn6ix DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EC0644BA2E1B X-UI-Sender-Class: 55c96926-9e95-11ee-ae09-1f7a4046a0f6 Message-ID: <97f0f3c6-9f2c-429c-aa8e-875b7806b275@towo.net> Date: Thu, 28 May 2026 19:45:39 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: wcwidth broken with gcc 16 To: cygwin AT cygwin DOT com References: <874ikpawdk DOT fsf AT Gerda DOT invalid> <8ff2ab8d-dfdc-459c-96f3-ed4a4f451440 AT towo DOT net> <0140C1F4-CA22-46DE-AE21-69C5427C59B5 AT unified-streaming DOT com> <4f885156-7772-43d7-ab72-c88f0a7d1e52 AT towo DOT net> <112594ad-3c25-4dad-b1bc-071b4951ed98 AT towo DOT net> Autocrypt: addr=towo AT towo DOT net; keydata= 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 kQ== In-Reply-To: <112594ad-3c25-4dad-b1bc-071b4951ed98@towo.net> X-Provags-ID: V03:K1:s/oz9U+iCtSPg475d2s5KqI0C4f8VSMIrzWP0G9ZjSAQ3S48gH9 lHKXyAuUY6qRqh+MoK21gWKuA0WSQHgeja5UylVUU3unsXI9h2k5hrFKIMCYgXz1FiMWck1 CDXwoc1Gch9zHBVMCZB0pFqzNLcehkCwUgvVD4rZ7sTSCo4oBCB5pqaJXYdTFWmr6omXqpT Y3/jJLztnyNcW7xE31lvQ== UI-OutboundReport: notjunk:1;M01:P0:13B/1ML/eoU=;Y0rlxkQ72N6sWRA+w7xLrIpE563 OgjaaBOusauXhduvI7370XwCeh5XhOHJzj2W/XTNhM2nvhruQWIp4DY4SSw/i1OVWgJBS3NAY Ysp/4MUiWYsNxQlTcMSeECZO1FJF5QQ7DqDJ3ohYkKhIqN0sggWayETasoB3Bp38vTxIi8V9v y8ut3nyJeN4uX0iDsyasoxl0idEBtSp/soE6IKC/g9aXHh5hrTp2WluQuFCilBciaqfZeVwB5 z1tGbG7Pcv2czIMxTyKT0t0lHtgyd4v6nDti1zroCuY1L7/CV2fWo/3h2kPXjLZf02yBiNsAD Kxh+wIIWLg9ntTu46+TBdsPz9AYmo0ryhyFnLxUXNtlacAxNSk8Yxrp1dBIaLuc780NAEfscR NDKAVVJ2HQox0hTfwGd8pdWYitFx9xNJ5YZJkuFIAj3tAABgw1BIT3c3fRpWakIKNenNyGKSK Dqx4p0HB7sTCzoTUCqX/Fx2AEwDBMhQHAOfQz4KGxgjU1slziN6IYHMbHCoF08iaBm6GwbZBj 6mNNyjRcGHnrWHjJ4G1YyspKkCY2NKJBss1qBAPuZH2DqdOvALD1xAYu7FtakYg6vSkPx4r/Q FQ6htwL2Pd7GuvLTiLF603nVUiAoYNUrltyfwnujfpsRVIm1bS1I+PzPnEfI4kM2oTYj/M3i/ /ly9UXhDGspbc6ttR+45mwZYsNP1S1M1AK6VJHkeUCF+b7QcPyljOLnT4x2TT90qObWidao0S zTDoQmGdMmdTIE8HWlHenSxXbh3WBLihbeN7Tksw3NXY+eOWIjneH8ERISAsZJe0zyGpsi8Oc LUsDZJr1ETlsrgl7BIVrYuuiidMxDaMNyFZQSzSGhxHMngW8/fhaBtqM+ub6VVohoyEeDp7rH fObu/YlMa0uemcSHCGaOqWfYL9hQ9wsRrJvv3uRjw3Tuh0EAUO3FspXk5XFMubBBmsDiajDdL 1A+StfM1FU3ODoRY8OYhg+2sWpRnjt4urUm0EO0lVVqptuBOfudi4+jIUCHEL2RTGo7KemqQn YUC+L80Z12R+MHtmlKVzl/CPD6TIO6BNafyP6wO9w+dKA10Djhi6aZqgDSHnZCKwt6qICTMH+ CorsvnQJO7mn2xqinIbi6iqC/VdapmV9KY/Gp9bong78w2aR8L4uToa4pJMSgJUIPF1d+Z1Mm OON/sIz9g6gzW8i2pdftlBbIS/et/b5+mY98p2nhfBlYqt5QFPIvimF68GSDxBuX/qel5SVq9 Xfv/QkCXkuVdst5W38r3/IM9BoAD+iqtjajun+RWwkq155MXB2IFWD70kInur8FBrQBwgnv05 6Do6kHlTWkRpHVgLxPkgCdyoJly6lEu8ZMl2gbTWyi1GSXd8u88kvXDiG9J9dbutfG6DJtU9T SHrI1txL90GMrwe7GIeT/yVzUawfTKF8caX30xpYUbf3gJTdNUKjFTRT/uv1r9G83wU4cce52 RRVFY/hn+Piy+9Vn42PEt0vBeXL1K4gZBwckos3BRwkyDYVtJwl0FAmXT5Zgbt0Cw0WuPbmpS D/nm+5Sif0+KC21UXNnk709h1jfZFh6SXZQbIS3lxTJsWCqTaBkrNYwksqPTdsVTsIk+hYUlu G9gLPiHhwEKSyd0wfsuJ9jWFxKHlSBfgbH8h4pil/g8v0UZBvR/0Tskenxpx+Zzre6+B6BqA/ GGJveHirVEMQaINQgDIVVq3XnrvXEKm4EdNrFbCytSHki27r/z/j3+vf1JWiMV5+bqENljvwB iRSYkdPhbEBTxVBkaFzao2DLifqhx14DTnRndEb3kM1sXQ5owe1Ruu83N7ANsxgzati4qkynO 8lBSNtsA+ZXb6OgWRR8Wsv0ri/pgCEtOIv8rvHuPOCYOIPkUlB87YsUt/HDvHjfjLQM0naeIA fBAhfGaB+mG54of8llPDgNBydu4OMLqTZzf32Y= X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Thomas Wolff via Cygwin Reply-To: Thomas Wolff Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 64SHnHFD2634056 Am 25.05.2026 um 18:53 schrieb Thomas Wolff via Cygwin: > > Am 05.05.2026 um 08:37 schrieb Thomas Wolff via Cygwin: >> >> 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 >>>>>> 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. > Now reported upstream: 125451 – wcwidth broken with gcc 16 on cygwin > > As discussed in the upstream issue, it may because by the include file which specifies: int    wcwidth (const wchar_t); although the parameter type should be wint_t (as it is in newlib) to support full Unicode. gcc 16 sign-extends the parameter to a signed 16-bit value, while earlier gcc zero-extends it to an unsigned. Why it extends a short value for an assumed short parameter at all, and why the signedness of this extension changed in gcc 16, remains obscure for now. (Maybe further discussion in the upstream issue will shed light on this.) But in any case I guess it would help to fix the include file and make it consistent with both newlib and the wcwidth manual page. Thomas -- 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