English
Language : 

CC78K0S Datasheet, PDF (331/520 Pages) NEC – C Compiler Ver.1.30 or Later Language
CHAPTER 11 EXTENDED FUNCTIONS
norec Function
norec
RESTRICTIONS
• No other function can be called from a norec function.
• There are restrictions on the type and number of arguments and automatic variables that can be used in a
norec function.
• When -ZA is specified, norec is disabled and only _ _leaf is enabled.
• When the -SM option is specified, a warning message is only output to the line in which norec is described
first, and all the norec functions are handled as normal functions.
• The restrictions for arguments and automatic variables are checked at compilation, and an error occurs.
• If arguments and automatic variables are declared with a register, the register declaration is ignored.
• The following shows the types of arguments and automatic variables that can be used in norec functions.
norec functions are allocated to the saddr area consecutively if between char/signed char/unsigned char,
however if connected to other types, allocation is performed in two-byte alignment.
• Pointer
• char/signed char/unsigned char
• int/signed int/unsigned int
• short/signed short/unsigned short
• long/signed long/unsigned long
• float/double/long double
(When the -QR option is not specified)
• The number of arguments that can be used in a norec function is 2 variables, if other than
long/float/double/long double types. Arguments cannot be used for long/float/double/long double types.
• Automatic variables can use the area that is the combined total of the number of bytes remaining unused by
arguments. If types other than long/float/double/long double are used, automatic variables can use up to 4
bytes. Arguments can not be used for long/float/double/long double types.
(When the -QR option is specified)
• The number of arguments is 6 variables, if types other than long/float/double/long double are used, and 2
variables if long/float/double/long double types are used.
• Automatic variables can use the area that is the combined total of the number of bytes remaining unused by
arguments and the number of saddr area bytes. If types other than long/float/double/long double are used,
automatic variables can use up to 20 bytes and if long/float/double/long double types are used, automatic
variables can use up to 16 bytes.
• These restrictions are checked at compilation and an error will occur if not satisfied.
User’s Manual U14872EJ1V0UM
331