This is the mail archive of the cygwin-patches mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix type inconsistencies in stdint.h


On Sat, Apr 04, 2009 at 05:11:09AM +0100, Dave Korn wrote:
>Christopher Faylor wrote:
>
>>>  The attached patch fixes all these by adjusting only the suffix letters.  OK
>>> for head?
>>>
>>> winsup/cygwin/ChangeLog
>>>
>>> 	* include/stdint.h (UINT32_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
>>> 	INT_FAST16_MIN, INT_FAST32_MIN, INT_FAST16_MAX, INT_FAST32_MAX,
>>> 	INTPTR_MIN, INTPTR_MAX, SIZE_MAX):  Fix integer constant suffixes.
>> 
>>Many of the changes introduce divergence from Linux.  Why is that?
>
>Because our stdint.h types are divergent from Linux, and changing them
>instead could cause yet another ABI break.

Why would changing uint32_t from 'unsigned long' to 'unsigned int' break
anything?  It looks to me like that is a disaster waiting to happen if
we ever provide a 64-bit port.

Isn't a long 32 bits?  What would be the ABI breakage in changing that
one typedef rather than lots of #defines?  It seems like fixing the
typedefs in stdint.h is the right thing to do before Cygwin 1.7 rolls
out.

cgf


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]