> To mi knowledge the HC08 compiler is following the ISO 9899:1990 standard, it is not supporting C99.
According to the help files as well as the link provided by Kef, it supports ANSI C (ANSI X3.159-1989, X3J11). This would be the draft standard made by the working group, which became obsolete in 1990. The differences between "ANSI C" and standard C are cosmetical (chapter enumeration, foreword etc), yet I find it odd that that they refer to a standard withdrawn 21 years ago.
Anyway, it clearly does -not- follow C89 nor C90, as it implements C99 features.
>> However, CW seems to allow some oddities from C99,
>> such as complex numbers,
>No, the HC08 compiler does not support complex numbers.
There is at least a h-file called <complex.h> that looks exactly like the one needed for C99, that comes with the compiler. I'm not sure if it works or not. Why does this h-file come with the compiler if it isn't supported?
>> struct initializing by member identfier (designated initializers),
> Not supported either.
Oops, I may have confused CW for HC08 with some other "ANSI C Codewarrior". I have five or so different Codewarriors in my machine, sorry if I may have got them mixed up. Maybe it is supported for Coldfire?
>> trailing comma at the end of an enumeration list,
> Not sure about this one.
Well, I am. This was detected by my static initializer but not by the CW compiler. This is a C99 feature.
> the register keyword
It may be true that this is actually C90.
Is there an option in CW to disable C99 features in CW HC08?