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.