"Incomplete type" and "redefinition" errors in gcc

Ashutosh Dixit ddixitt@yahoo.com
Sat Nov 22 07:57:00 GMT 2003


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



More information about the Gcc-help mailing list