[Bug target/125451] [16/17 Regression] wcwidth broken with gcc 16 on cygwin
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu May 28 17:49:31 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125451
--- Comment #16 from Drea Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Thomas Wolff from comment #15)
> I see that wchar.h has
> int wcwidth (const wchar_t);
> (which is different from the manual page).
> The include file is identical on both systems.
>
> If gcc takes this as a short parameter as you indicate, why does gcc extend
> the parameter value at all?
I suspect it is due to some tuning flag that is set by default. sometimes using
%ah rather than %eax/%rax will cause false dependencies.
> And if it does so, beyond the width specified in the include file, it should
> respect the unsignedness of the parameter type, I think. Why got this
> changed in the first place?
Because before GCC 16, GCC was actually doing a promotion to int (on accident
due to defines) and that introduced so many differences between x86 and other
targets and it was just fixed up to follow the ABI.
>
> I'll also report this observation to cygwin, anyway.
More information about the Gcc-bugs
mailing list