DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 6527kVu1109505
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 6527kVu1109505
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=wlOI6r7F
X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3D8D64BA23E1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1780386390;
	bh=Gvp0iOYpO+ncKYBfGwj9usLvX+0Jp4fkyHEZ5nOs3cw=;
	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=wlOI6r7Fto2XErwfqwuBCMJ/qB+WVx/ZjfQD7SHxjlwf9IJw2g3wCw76l67/uOj6e
	 bxBlKlESmq+4qMkIEa2AEXbdhPu7Hq6Y2rF6Lr5k2v/CNqiddGWHyk8bNBqr3tROtK
	 NlpaVDAulZdcMwMD8XzvYLPE+B0XZfJflLa8mJto=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C10834BA2E04
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C10834BA2E04
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1780386338; cv=none;
 b=BofMPgORijYuIHIsdwrnGZGDxai4f46Q1nQx+UoBqY8FZlJEu4rmwr8fQngwrzYnwDCh0CKweoXLUeWJ0xzBmeIaVUjnTWx/LaiFCFE239iTE/0lVpvJLKCrCcNbdH5xc/ls+o0FyQjoeLDFcwOTMuQmsgDDPNbAefJi2Qp/XW0=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
 t=1780386338; c=relaxed/simple;
 bh=uZ7m4AkVmwZnXHnr5VGttLDK4kBix2wV9CYQke68jK8=;
 h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From;
 b=JHO3fCQAMIgjlXYnhO/dpq4B5yyrSaa42i/tdTkAQ34TfFhb2rvwqiDvQuDln8/apYN7+DbVIOY/2Hw9SacAfWlFU+kY1YR1vzPJFJzXl+MQxTWuy3fLQh0SpLN0NGzZC3IyUG3E4LUQevvTFCGIh2U0/r4s3ef1lFiTrnKWjK4=
ARC-Authentication-Results: i=1; sourceware.org;
 dkim=pass (2048-bit key, unprotected)
 header.d=towo.net header.i=towo@towo.net header.a=rsa-sha256
 header.s=s1-ionos header.b=LFWzt+qr
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C10834BA2E04
X-UI-Sender-Class: 55c96926-9e95-11ee-ae09-1f7a4046a0f6
Message-ID: <bd3062e4-47c4-45f3-b44c-004dc7e889f3@towo.net>
Date: Tue, 2 Jun 2026 09:42:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: wcwidth broken with gcc 16
To: cygwin@cygwin.com
References: <a9676834-0368-4a8a-88b0-da5e9483b536@towo.net>
 <874ikpawdk.fsf@Gerda.invalid>
 <8ff2ab8d-dfdc-459c-96f3-ed4a4f451440@towo.net>
 <0140C1F4-CA22-46DE-AE21-69C5427C59B5@unified-streaming.com>
 <e94174b7-ea9b-45ca-bfd3-7979ce988920@towo.net>
 <e362b49c-521c-4cd5-8963-c17d5770619b@SystematicSW.ab.ca>
 <fbbeb91a-4c5a-dbe6-1bb3-206cf14a73bc@wisemo.com>
 <4f885156-7772-43d7-ab72-c88f0a7d1e52@towo.net>
 <112594ad-3c25-4dad-b1bc-071b4951ed98@towo.net>
 <97f0f3c6-9f2c-429c-aa8e-875b7806b275@towo.net>
 <8733z9jpfj.fsf@Gerda.invalid>
 <b70d8366-8970-4cdc-a693-6d826fe76277@towo.net>
 <b8c1571a-1956-4316-a6a9-32176b6c7c80@towo.net>
 <87pl2bab08.fsf@Gerda.invalid>
 <2a39e204-bd8b-4511-bd34-703899600e9e@towo.net>
 <87ldcza133.fsf@Gerda.invalid>
 <21ca1d38-7b82-49af-b954-b83141237843@towo.net>
 <5c46f199-128c-4409-a354-9d3e1deb29bb@towo.net>
 <87y0gyyqm2.fsf@Gerda.invalid>
Autocrypt: addr=towo@towo.net; keydata=
 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 kQ==
In-Reply-To: <87y0gyyqm2.fsf@Gerda.invalid>
X-Provags-ID: V03:K1:mwjSNqNFYaRIRTiyY5NcWM97kQQOHZ/Xz6QOFKVZPj2n11m4j8N
 OMNS29ak/aWxfQLo8HPX99RKxsw637VY79Z4aRWPEmCtShlvRkX5ewkrakgn80RVCW6VERB
 K0/WpmnnsCnptnNsDVGZty1RnQVuTiAh88cm/TN34JqR/xKxstkmasnT99+P2KSFuAWZMXu
 BG7/1w/GwT07GwGsLBkSw==
UI-OutboundReport: notjunk:1;M01:P0:dWuFz6t00eE=;+Bz4bgsoC/qmJFPRcp2uOkFgwFp
 WOliCn3XWd4c7NYoqeTK85/fwyI4DLDIp0QghzreBQSIImeB9wVTT7I/xd4tR+gRPeTn1rNwC
 32FKiWM4BiLalFD2P0xEuDh05Nv5Glyr3Ew61/UdzHcVxEcbScLJf877UvQQMl7HMlQVktCa5
 a7yY1tpDGDTv8ejyvrAI9bZ9jEFy2gydCkUKrFBrI1ILyrlEDkrH4eCih2bZp635GdxVZr9g8
 xtBeRE82IH+1yRh988WawGcddu9f57FhPucs8b4+va5AYjGP9HxgaUjvrfqL2ma794luokXE5
 Eav3ICIElCZHsSSVCThzPFhh36yRdribGnCCS6niuMEttOqLYk0K98YYRpXOKRKfCtUZT7kGf
 5/nTAkHXWm/ATIbuVGk4p7LBBv4fbEJfBsi1EsXVrGaAL/Ned2wM3GAVm84B9gyXlq1Stucwz
 +XdQWc9uMcBGIoBmMdsGT9gWla18NAiUBVJ6EQZCkxIYmsaLPC7uygl86NQwKtz3Et3tXIJdl
 Jl1rfr5JZREtY+gyBEcw6LQFOC41W308S66hKOTVTDYj0dmJ21DA9ZfoiYnM4wPuwW+nI2gc2
 07akzKfRn4uRUsggc6QL1QGSGKQZ3fPbiZniGLHBD/NTCDG0jxLp6HcJANVrD0NoCM+GdRQEz
 8IzmkWjuXXbn+aLd0IEqts8B7BA2oUDibobcheHD1dg+Nq2ZcjJKbK0tMruq/d9JM+s3xMIni
 JIkYGTXGP3K65SO/D70xapoKJekGbRBQdAG6oDKHh9aM757i8VPV3Ak9ENgh0num5Dm8weEj0
 R7BF5a0p8CM3ZGGTkn3Kwqdo6kS75WhY/DgXrX2ZbxC4BQgFDRFGwZnMvsqG3Hym4aUm07AKP
 7jrqoQ5kanWEkUFcBAewIsHDVG1GAvszpU97WECPJUbvDd/sXPPOX6BmVmtjacGs1dC8BleFf
 cnFi412y9Z7tJBSADe8M1sP33TmFwmZrF8FAcIEiP9gQhzoKlXOwVVxUqThVnoA8Z61r4rmGB
 n16gB2ea/lqZbzCkCKpT5Wk8GcFwSuratjUKxXIdVwbx6qUzbMBy7bLnRjG2wNxOG35vkFJzv
 Gfns9psImPr/MkdIjYwsUPZ+RSGDEa5506/E1HdxocVnkpKM2k+fY05L92KV0HpI7XzLAbUIm
 gftBsyphGkoYW+qB0pMXLaXklrb5jf4ZchxRxxN69UnsW3ywEHPH11Qf55xkO6SnJy4OvvQlx
 Jj4hnufVuGansA302mcEBvvfRxMvQl0kRgqNYWj6hCHJ7hJLTg5NoXL4WX9EPmrIaeJ3pcuYi
 Sei0l/0dMeu7+2gzrYdzYBlvLlFgrXinn+7YUcIRHtWBjIpZYDVokZDQtzfFXOglnguRSk09I
 Sq6IvtDSlq0Zl9oLaybz7Zy/QWB0stiOHXUSo8SW81KgFPat3VEN7w3td3R2u8x0wQUAiLKPd
 3cPmhUWoJKGEaPta8tttJFw4tRmGD67RrDRuZysWX9pW0FN0PqHb8cDAbUMc9nQ9z28EiIsQS
 JGIKD/YDsed4p/FKyTrM8JBOvzjKk3jWVDlzfABfuR6BB//eUQ+kdxNplSf3dJAj6Ss/NK4iF
 w8ATI7J213LIyTr+ukhBDEAxpZzNTuvTFwJAK1EMRfyDXQK1RACWzC3iScAl5J8cHlGC8koi0
 549YpC1jR9qqqeX+a+k8OZOKMvn7FMle/MA2ic/MjRv6je0qJjTvQoBjb8+v/A61qnmr4X2cg
 KL4CbVE2bc8N1HXUTwUNW3yuXQm6slSbOuRXOkv9+QvVktSfxlqd/SJJdefCGZ9N/z8pM9z6c
 R79aWd5wWeVeWcKg7qhRNVUcEPLa53TFzJwO8prB4zioOGaGX75FY8pJ3vofYDCA/u2er+jpK
 u45oPAUB6PGSaEjaA==
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.30
Precedence: list
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
From: Thomas Wolff via Cygwin <cygwin@cygwin.com>
Reply-To: Thomas Wolff <towo@towo.net>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Errors-To: cygwin-bounces~archive-cygwin=delorie.com@cygwin.com
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie.com@cygwin.com>


Am 01.06.2026 um 22:04 schrieb ASSI via Cygwin:
> Thomas Wolff via Cygwin writes:
>>> Which part of "you must not change a standard public API" is unclear to you?
>> Who defines that? Reference? After all, it would be a compatible
>> extension, not the most unusal thing to do.
> It makes a difference on Cygwin because wchar_t and wint_t are not the
> same width (and wchar_t is not supposed to be signed anyway even if they
> were).
>
>>> Especially when it would make things binary incompatible?
>> I don't see any incompatibilites that might arise on cygwin.
> Exactly the same one that had you open a bug for gcc: a compiler that
> uses wchar_t for the argument does not need to care about any upper bits
> left in the register that will go into the function and the function
> call (taking a win_t) does.  Whether there actually are any binaries
> that have this problem is left as an exercise for the reader, but the
> mere possibility for one to exist makes this a no-go.
So you refer to previously-compiled programs. Acknowledged, I hadn't 
considered that.
(Doesn't affect gcc before 16 and clang but anyway.)
So I'll withdraw my patch and provide another one, tomorrow.
(If gcc weren't so weird to bit-extend a 16-bit argument at all, in the 
first place, the bug would have been apparent earlier.)

>>> WCHAR_MAX is 0xffffu on Cygwin, so the above is illegal input to wcwidth and it never worked.
>> Well, my proposal was just to make it work. But you may well argue it
>> doesn't need to.
> Again, there is no existing code that can produce such a result (given
> how wchar_t is currently defined and was from the very beginning), so
> there is nothing to fix.  And you can't change it without invalidating
> existing binaries.
>
>> If you patch wcwidth.c as you suggest, make sure however *not* to
>> bit-reduce __wcwidth because that would break wcswidth which must
>> continue to work for non-BMP characters passed as surrogate pairs.
> Nobody ever suggested that.  IIRC the internal function __wcwidth that
> is called through the stub implementation has always been taking a
> wint_t.  I don't know if there's a precedent for an additional API
> function (most certainly not POSIX) that exists on systems that have the
> same characteristics as Windows (and Cygwin) of wchar_t not quite large
> enough to fit all codepoints in order to enable that functionality via
> either a wint_t or some additional unsigned wchar-like type.
>
>
> Regards,
> Achim.


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