23.5 Extended Keywords

Non-standard extensions often specify how objects are defined or accessed. Keywords are usually used to indicate the feature. The non-standard C keywords corresponding to other compilers are listed in the table below, as well as the level of compatibility offered by MPLAB XC compilers. The table notes offer more information about some extensions.

Table 23-5. Support for Non-Standard Keywords
IAR Compatibility Mode
Keyword XC16 XC-DSC XC32
__section_begin support support support
__section_end support support support
__section_size support support support
__segment_begin support support support
__segment_end support support support
__segment_size support support support
__sfb support support support
__sfe support support support
__sfs support support support
__asm or asm1. native support native support native support
__arm ignore ignore ignore
__big_endian error error error
__fiq error error error
__intrinsic ignore ignore ignore
__interwork ignore ignore ignore
__irq error error error
__little_endian2. ignore ignore ignore
__nested ignore ignore ignore
__no_init support support support
__noreturn support support support
__ramfunc ignore4. ignore4. support3.
__packed support support support
__root support support support
__swi ignore ignore ignore
__task support support support
__weak support support support
__thumb ignore ignore ignore
__farfunc ignore ignore ignore
__huge ignore ignore ignore
__nearfunc ignore ignore ignore
__inline native support native support native support
  1. All assembly code specified by this construct is device-specific and will need review when porting to any Microchip device.
  2. This is the default (and only) endianism used by all MPLAB XC C compilers.
  3. When used with MPLAB XC32, this must be used with the __longcall__ macro for full compatibility.