1.4 List of Interesting Symbols

For a list of assembler and linker symbols, see “MPLAB® XC32 Assembler, Linker and Utilities User’s Guide for PIC32A MCU” (DS-50003839), “Lists of Interesting Symbols.”

Table 1-2. Compiler Symbols
SymbolDescriptionMore Information

PIC32A

This symbol is defined when -ansi is not selected.

XC32 for PIC32A is in use.

20.3.3 Compiler Output Type Macros

__PIC32A

or

__PIC32A__

These symbols are defined with the -ansi command line option.

If defined, XC32 for PIC32A is in use.

20.3.3 Compiler Output Type Macros
__DATE__Current date as a C string.20.3.6 Other Macros

__PIC32A__

Once the compiler defines a symbol based on the target device set with -mcpu=, it also defines a symbol based on the target device family.

20.3.4 Device Name and Family (Architecture) Macros
__PIC32Axxxxxxxx__

The compiler defines a symbol based on the target device set with -mcpu=. For example, -mcpu=32AK1216GC41064, which defines the symbol __PIC32AK1216GC41064__.

20.3.4 Device Name and Family (Architecture) Macros
__FILE__Current file name as a C string.20.3.6 Other Macros
__HAS_DSP__

Device has a DSP engine.

If device feature is enabled, the symbol is defined.

20.3.5 Device Features Macros
__HAS_ISA32__

Device supports the dsPIC33A instruction set.

If device feature is enabled, the symbol is defined.

20.3.5 Device Features Macros

__LARGE_ARRAYS__

Set to 1 for -menable-large-arrays, set to 0 otherwise.

20.3.2 Compiler Settings Macro
__LINE__Current line number as a decimal integer.20.3.6 Other Macros

__OPTIMIZATION_LEVEL__

Set to the value of the big O number. For example, both -Os and -O2 would be set to 2.

20.3.2 Compiler Settings Macro

__OPTIMIZE_SIZE__

Defined if -Os enabled, undefined otherwise.

20.3.2 Compiler Settings Macro

__reset

The linker scripts construct a GOTO __reset instruction at location 0 in program memory, which transfers control upon device Reset.

See the “MPLAB® XC-DSC Assembler, Linker and Utilities User’s Guide for dsPIC33C/E/F and dsPIC30 DSC” (DS-50003590), “Lists of Interesting Symbols.”

__SP_init

__SPLIM_init

The linker will allocate an appropriately sized section and initialize __SP_init and __SPLIM_init so that the run-time startup code can properly initialize the stack.

7.3 Stack

11.2.3.1 Software Stack

__XC_PIC32A

or

__XC_PIC32A__

These symbols are defined with the -ansi command line option.

If defined, XC32 for PIC32A is in use.

20.3.3 Compiler Output Type Macros

__XC_DSC_VERSION__

The compiler will define this constant, giving a numeric value to the version identifier.

20.3.1 Compiler Version Macro