3 IAR Extended Keywords

This section shows a summary of IAR extended keywords and the best MPLAB XC8 replacement where that is available. These keywords and their MPLAB XC8 equivalents are discussed in more detail in the sections that follow. It is recommended that you compare the relevant sections in the MPLAB® XC8 C Compiler User's Guide for AVR MCUs with those in your IAR C/C++ Compiler User Guide to ensure that migrated code will work as expected in all situations.

Table 3-1. MPLAB XC8 Equivalents to IAR Extended Keywords
IAR Keyword

(links to explanatory section)

Suggested MPLAB XC8 Migration
__eepromCombined use of the EEMEM attribute and EEPROM-access functions
__ext_ioUse the address attribute
__farNo simple migration recommended
__farflashUse either the__memx or __flashn qualifier
__farfuncRemove the keyword
__flashNo migration necessary
__genericUse the __memx qualifier
__hugeNo simple migration recommended
__hugeflashEither remove the keyword or use the __memx qualifier, based on the const-in-program-memory feature setting
__interruptUse the __interrupt(number) specifier
__ioUse one of the io(n), io_low(n), or address(n) attributes
__monitorNo simple migration recommended.
__nearRemove the keyword
__nearfuncRemove the keyword
__nestedUse the interrupt attribute as well as the __interrupt(n) specifier
__no_alloc, __no_alloc16No simple migration recommended
__no_alloc_str, __no_alloc_str16No simple migration recommended
__no_initUse the __persistent specifier or persistent attribute
__no_runtime_initNo simple migration recommended
__noreturnNo simple migration recommended
__rawConsider the naked attribute
__regvarUse the asm("reg") syntax and register keyword
__ro_placementRemove the keyword when using the const-data-in-program-memory feature; otherwise, use the __memx qualifier
__rootNo simple migration recommended
__taskNo simple migration recommended
__tinyRemove the keyword
__tinyflashUse the __flash specifier
__version1, __version2, __version4No simple migration recommended
__x, __x_z, __z, __z_xNo simple migration recommended