"Incompatible" typedefs

Corinna Vinschen corinna-cygwin@cygwin.com
Wed Feb 4 09:52:00 GMT 2009


On Feb  3 12:06, Charles Wilson wrote:
> I ran across an oddity in the cygwin headers today.
> 
> <machine/_types.h> has
> typedef signed int __int32_t;
> unsigned int __uint32_t;
> 
> <stdint.h> has
> typedef long int32_t
> typedef unsigned long uint32_t
> 
> <cygwin/types.h> has
> typedef __uint32_t u_int32_t;
> 
> What this means is that these public types don't match (exactly)
> 
> uint32_t == unsigned long
> u_int32_t == __uint32_t == unsigned int
> 
> Also, the public/private pair doesn't match (exactly)
> int32_t == long
> __int32_t == signed int

This has been fixed in the 1.7 headers in May 2008.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list