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
