This is the mail archive of the
cygwin-patches
mailing list for the Cygwin project.
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