Hi, If I compile the following simple C code with gcc: ________________try.c________________________ typedef enum VIDF VIDF; typedef unsigned int U32; typedef unsigned int U32; typedef struct VIDR { VIDF VidF; U32 width; } VIDR; typedef enum VIDF { aVIDF, bVIDF } VIDF; int main( void ) { return 0; } ____________________________________________ I get the following errors: bash-2.05b$ gcc try.c try.c:3: error: redefinition of `U32' try.c:2: error: `U32' previously declared here try.c:7: error: field `VidF' has incomplete type try.c:15: error: redefinition of `VIDF' try.c:1: error: `VIDF' previously declared here ______________________________________________ I would have thought that the code would compile without errors. Are these bugs or features of gcc and are there any options to make these errors disappear? The preceding is only sample code. In the real code which I am trying to compile, making changes to take care of these errors will be very cumbersome. I am using gcc 3.3.1 on Cygwin. Thanks very much for your help. Ash __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree