AnsweredAssumed Answered

Re-declaration Error

Question asked by Ron Jaeger on Feb 23, 2017
Latest reply on Mar 29, 2017 by Carlos_Mendoza

I am using CodeWarrior for MCU 10.3 and have the following declaration:

typedef enum

{

   EEPROM_DIRECT_INVALID_MESSAGE = -2,

   EEPROM_DIRECT_EEPROM_ERROR = -1,

   EEPROM_DIRECT_SUCCESS = 0

} EEPROM_DIRECT_ERRCODE_T;

 

This is referenced in the following struct:

typedef struct EEPROM_DIRECT_TAG

{

   OS_EVENT* eeprom_direct_sem;

   EEPROM_DIRECT_ERRCODE_T eeprom_direct_result;

   U32 address;

   U16 size;

   U8 data[4];

} EEPROM_DIRECT_T;

 

In the enum typedef I'm getting the error:

identifier 'EEPROM_DIRECT_ERRCODE_T' redeclared was declared as: 'int' now declared as: '@enum$669warranty_c'

 

I have no idea what 'enum$669warranty_c'.  There is no reference to it in the code.  There is a code module named warranty.c, but it has nothing to do with this code.

 

The struct then, of course, complains that EEPROM_DIRECT_ERRCODE_T is undefined.

There is no other reference to EEPROM_DIRECT_ERRCODE_T, so I don't understand how it could be re-declared.

 

 

Outcomes