Specifications

CAVR-4
232
Predefined symbols
AVR® IAR C/C++ Compiler
Reference Guide
__IAR_SYSTEMS_ICC__
This predefined symbol expands to a number that identifies the IAR compiler platform.
The current identifier is 6. Note that the number could be higher in a future version of
the product.
This symbol can be tested with #ifdef to detect whether the code was compiled by a
compiler from IAR Systems.
__ICCAVR__
This predefined symbol expands to the number 1 when the code is compiled with the
AVR IAR C/C++ Compiler.
__LINE__
This predefined symbol expands to the current line number of the file currently being
compiled.
__MEMORY_MODEL__
Use this symbol to identify the used memory model.
This symbol expands to a value reflecting the selected memory model according to the
following table:
NDEBUG
This preprocessor symbol determines whether any assert code you have written in your
application shall be included or not in the built application.
If the symbol is:
defined, the assert code will not be included
not defined, the assert code will be included
This means that if you have written any assert code and build your application, you
should define this symbol to exclude the assert code from the application.
Note that the assert macro is defined in the
assert.h standard include file.
In IAR Embedded Workbench, the
NDEBUG symbol is automatically defined if you build
your application in the Release build configuration.
Value Memor y model
1Tiny
2Small
3Large
Table 71: Predefined memory model symbol values