Specifications
CAVR-4
294
AVR® IAR C/C++ Compiler
Reference Guide
preprocessor output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
preprocessor symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
defining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
NDEBUG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
preprocessor, extending. . . . . . . . . . . . . . . . . . . . . . . . . . . 187
prerequisites (programming experience) . . . . . . . . . . . . . . xix
_ _PRETTY_FUNCTION_ _ (predefined symbol). . . . . . 233
print formatter, selecting . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
printf (library function). . . . . . . . . . . . . . . . . . . . . . . . . 59, 87
choosing formatter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
printf_P (library function). . . . . . . . . . . . . . . . . . . . . . . . . 250
processor operations, low-level. . . . . . . . . . . . . . . . . . . . . 237
processor options, mapping of derivatives . . . . . . . . . . . . . . 6
processor variant
configuration
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
specifying on command line . . . . . . . . . . . . . . . . 173, 197
program size, maximum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
programming experience, required . . . . . . . . . . . . . . . . . . xix
programming hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
project options, setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
ptrdiff_t (integer type). . . . . . . . . . . . . . . . . . . . . . . . 143, 249
PUBLIC (assembler directive) . . . . . . . . . . . . . . . . . . . . . 194
--public_equ (compiler option) . . . . . . . . . . . . . . . . . . . . . 194
putchar (library function) . . . . . . . . . . . . . . . . . . . . . . . . . . 87
puts_G (library function) . . . . . . . . . . . . . . . . . . . . . . . . . 250
puts_P (library function) . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Q
QCCAVR (environment variable) . . . . . . . . . . . . . . . . . . . 169
qualifiers, implementation-defined behavior. . . . . . . . . . . 260
queue (STL header file) . . . . . . . . . . . . . . . . . . . . . . . . . . 247
R
-r (compiler option). . . . . . . . . . . . . . . . . . . . . . . . . . 175, 194
raise (library function), configuring support for . . . . . . . . . 73
RAM memory, saving. . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
RAMP (register) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
RAMPZ (register). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
_ _read (library function) . . . . . . . . . . . . . . . . . . . . . . . . . . 70
read formatter, selecting . . . . . . . . . . . . . . . . . . . . . . . . 61, 89
reading guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
reading, recommended . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
realloc (standard library function). . . . . . . . . . . . . . . . . . . . 25
recursive functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
storing data on stack . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
reentrancy (DLIB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
reference information, typographic convention. . . . . . . . . xxii
register parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
register vs stack parameters . . . . . . . . . . . . . . . . . . . . . . . 102
registered trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
registers
callee-save, stored on stack
. . . . . . . . . . . . . . . . . . . . . . 23
implementation-defined behavior. . . . . . . . . . . . . . . . . 259
locking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
permanent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
scratch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
using RAMPZ in direct access mode . . . . . . . . . . . . . . 190
_ _regvar (extended keyword). . . . . . . . . . . . . . . . . . . . . . 212
reinterpret_cast (cast operator) . . . . . . . . . . . . . . . . . . . . . 110
remark (diagnostic message)
classifying
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
enabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
--remarks (compiler option) . . . . . . . . . . . . . . . . . . . . . . . 194
remarks (diagnostic message) . . . . . . . . . . . . . . . . . . . . . . 279
remove (library function) . . . . . . . . . . . . . . . . . . . . . . . . . . 70
rename (library function) . . . . . . . . . . . . . . . . . . . . . . . . . . 70
_ _require (intrinsic function) . . . . . . . . . . . . . . . . . . . . . . 240
REQUIRE (assembler directive) . . . . . . . . . . . . . . . . . . . . . 81
required (pragma directive). . . . . . . . . . . . . . . . . . . . . . . . 223
--require_prototypes (compiler option) . . . . . . . . . . . . . . . 194
return data stack
reducing usage of
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
using cross-call optimizations . . . . . . . . . . . . . . . . . . . 189
return values, from functions . . . . . . . . . . . . . . . . . . . . . . 105
_ _root (extended keyword) . . . . . . . . . . . . . . . . . . . . . . . 212
using in pragma directives . . . . . . . . . . . . . . . . . . . . . . 221