Microchip Technology XC8 Standard Compiler (Workstation) SW006021-1 SW006021-1 User Manual

Product codes
SW006021-1
Page of 518
Common C Interface
 2012 Microchip Technology Inc.
DS52053A-page 37
2.5.15.1
EXAMPLE
The following shows code which is conditionally compiled dependent on the device 
having EEPROM memory.
#ifdef __XC16__
void __interrupt(__auto_psv__) myIsr(void)
#else
void __interrupt(low_priority) myIsr(void)
#endif
2.5.15.2
DIFFERENCES
Some of these CCI macros are new (for example __CCI__), and others have different 
names to previous symbols with identical meaning (for example __18F452 is now 
__18F452__
).
2.5.15.3
MIGRATION TO THE CCI
Any code which uses compiler-defined macros will need review. Old macros will con-
tinue to work as expected, but they are not compliant with the CCI.
2.5.15.4
CAVEATS
None.
__CCI__
Compiler is CCI compliant and CCI enforce-
ment is enabled
__CCI__
__XC##__
The specific XC compiler used (## can be 8, 
16
 or 32)
__XC8__
__DEVICEFAMILY__
The family of the selected target device
__dsPIC30F__
__DEVICENAME__
The selected target device name
__18F452__
TABLE 2-1:
MANIFEST MACROS DEFINED BY THE CCI
Name
Meaning if defined
Example