Atmel CAVR-4 Manuale Utente

Pagina di 323
CAVR-4
Part 2. Compiler reference
The preprocessor
233
_Pragma()
The preprocessor operator 
_Pragma
 can be used in defines and has the equivalent effect 
of the 
#pragma
 directive. The syntax is:
_Pragma("string")
where 
string
 follows the syntax for the corresponding pragma directive. For example:
#if NO_OPTIMIZE
  #define NOOPT _Pragma("optimize=2")
#else
  #define NOOPT
#endif
See the chapter Pragma directives.
Note: The 
-e
 option—enable language extensions—is not required.
_ _PRETTY_FUNCTION_ _
Use this symbol inside a function body to make it expand into a string, with the function 
name including parameter types and return type as context. The result might, for 
example, look like this: 
"void func(char)"
This symbol is useful for assertions and other trace utilities. These symbols require that 
language extensions are enabled, see -e, page 179.
_ _STDC_ _
This predefined symbol expands to the number 1. This symbol can be tested with 
#ifdef
 to detect whether the compiler in use adheres to ISO/ANSI C.
_ _STDC_VERSION_ _
ISO/ANSI C and version identifier.
This predefined symbol expands to 
199409L
.
Note: This predefined symbol does not apply in EC++ mode.
_ _TID_ _
Target identifier for the AVR IAR C/C++ Compiler.
Expands to the target identifier which contains the following parts:
A target identifier (t) unique for each IAR compiler. For the AVR microcontroller, 
the target identifier is 
90
.
The value (
c
) of the 
--cpu
 or 
-v
 option.