Standard pre-processor symbols

The C preprocessor defines the following macro names:

__DATE__
The date of translation of the program unit. This expands to a string constant of the form "Mmm dd yy".
__FILE__
The name of the current source file. __FILE__ expands to a string constant.
__LINE__
The line number of the current source line in the current source file. __LINE__ expands to an integer constant.
__STDC__
The integer constant 1 as CrossWorks C conforms to the ISO/IEC 9899 standard. The integer constant 0 denotes that the implementation does not conform to the relevant standard.
__STDC_HOSTED__
The integer constant 0 as CrossWorks C is not a hosted implementation. The integer constant 1 denotes that the implementation is a hosted implementation.
__STDC_VERSION__
The integer constant 199409L as CrossWorks C conforms to ISO/IEC 9899:1990 with the changes required by ISO/IEC 9899/AMD1:1995. For standard C compilers conforming to ISO/IEC 9899:1999, this constant is 199901L.
__TIME__
The time of translation of the program unit. This expands to a string constant of the form "hh:mm:ss".

The following macro names are not defined by CrossWorks C as the implementation is still in the process of being upgraded to the 1999 standard.

Architecture-dependent pre-processor symbols

The following symbols are set by the compiler (and, in fact, the assembler also) so that you can conditionally-compile your code.

-mxmega
-m8k
-m128k
-m8m
-mboot
-msd