Compiler CW6.0 as well as 6.3 for HCS08.
My question is: which standard, if any, does CW follow?
For this project, it is very important that my program is strictly confoming to the C standard ISO 9899:1990.
Now I've been trying out CW and I'm not quite sure which standard it follows, if any. According to compiler docs it follows "ANSI C", whatever that is. I have set "strict ANSI" in the compiler options.
As far as I know, ANSI C refers to an old C standard that was withdrawn 21 years ago in 1989. According to ANSI, there exists no such standard and they refer to ISO/IEC 9899:1999.
However, CW seems to allow some oddities from C99, such as complex numbers, struct initializing by member identfier (designated initializers), trailing comma at the end of an enumeration list, the register keyword, C++ comments etc. Yet it does not implement the whole C99 standard.
So which standard does it follow? Should "strict ANSI" be interpreted as "The Codewarrior-specific mix of C90 and C99 language"?
Is it possible in some way to enforce CW to follow a C standard? If not C99, then at least C90?