24.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 following table, as well as the level of compatibility offered by MPLAB XC compilers. The table notes offer more information about extensions.

Table 24-5. Support for Non-Standard Keywords
IAR Compatibility Mode
KeywordXC16/XC-DSCXC32
__section_beginsupportsupport
__section_endsupport support
__section_sizesupportsupport
__segment_beginsupportsupport
__segment_endsupportsupport
__segment_sizesupportsupport
__sfbsupportsupport
__sfesupportsupport
__sfssupportsupport
__asm or asm(1)native supportnative support
__armignoreignore
__big_endianerror error
__fiqerror error
__intrinsicignoreignore
__interworkignoreignore
__irqerror error
__little_endian(2)ignoreignore
__nestedignoreignore
__no_initsupportsupport
__noreturnsupportsupport
__ramfuncignoresupport(3)
__packedsupportsupport
__rootsupport support
__swiignoreignore
__tasksupport support
__weaksupportsupport
__thumbignoreignore
__farfuncignoreignore
__hugeignoreignore
__nearfuncignoreignore
__inlinenative supportnative support
Note:
  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 compilers.
  3. When used with MPLAB XC32, this must be used with the __longcall__ macro for full compatibility.