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.

Reply via email to