4.6.7.4 Cmacros Option

The -mcmacros option requests that when building a project, the command-line driver define preprocessor macros that are relevant for C programs. This is the default action taken by the driver.

The -mno-cmacros form of this option can be used if you prefer that C-related preprocessor macros are not defined. Those macros that relate to the device are still defined (e.g. __16F1937 or _ROMSIZE), but any macros that relate to the C program are suppressed (e.g. __XC8, __OPTIM_FLAGS, or __SIZEOF_CHAR__). Use the -mno-cmacros option with caution. Ensure the operation of your project is not dependent on the presence of or value equated to these macros.