|
CC78K4 Datasheet, PDF (314/523 Pages) NEC – CC78K4 Ver.2.30 or Later, C Compiler Language | |||
|
◁ |
CHAPTER 11 EXTENDED FUNCTIONS
noauto Function
noauto
⢠Automatic variables can be used only when all the automatic variables can be allocated to the registers
remaining after the argument allocation and to the saddr2 area (_@KREGXX) for register variables.
However, automatic variables are allocated to the saddr2 area for register variables only when the -QR option
is specified during compilation. If the -QRO option is specified during compilation, a warning message is
output and automatic variables are not allocated to saddr2 area.
⢠Automatic variables are allocated in the same order as arguments are allocated. The automatic variables
allocated to saddr2 area (_@KREGXX) are allocated in the order of declaration (if they are not allocated, a
compilation error occurs).
⢠The save and restore of _@KREGXX, the register to which automatic variables are allocated, are performed
on the function definition side.
EFFECT
⢠The object code can be shortened and execution speed can be improved.
USAGE
Declare a function with the noauto attribute in the function declaration, as follows.
noauto type-name function-name
RESTRICTIONS
⢠When the -ZO option is specified, automatic variables cannot be used inside the noauto function, and neither
can the register variables.
⢠When the -ZA option is specified, the noauto function is disabled.
⢠The arguments and automatic variables of the noauto function (only when the -ZO option is specified) have
restrictions on their types and numbers. The following shows the types of arguments that can be used inside
a noauto function.
⢠Pointer
⢠char / signed char/ unsigned char
⢠int / signed int / unsigned int
⢠short / signed short / unsigned short
⢠enum
⢠long / signed long / unsigned long
⢠float / double / long double
314
Userâs Manual U15556EJ1V0UM
|
▷ |