3.13 Difference from Conversion Specifications of -convert_cc Option of CC-RL
The difference of extended functions whose operations vary when the CC-RL's option -convert_cc is used and when conversion is performed by the CcnvCA78K0R is shown here.
Table 3.7 | Different Operation from –convert_cc Option of CC-RL |
|
|
|
__boolean
|
Handled as the _Bool type when the -ansi option is not specified and handled as the char type when the -ansi option is specified.
|
Always converted to the _Bool type.
Since _Bool is not usable when the -ansi option of the CC-RL is specified, manually change the type.
|
__interrupt
__interrupt_brk
__rtos_interrupt
|
If a #pragma directive for a function with the same name already exists, the keyword is ignored.
|
A #pragma directive is added before the function declaration. If a #pragma directive for a function with the same name already exists, there will be duplicate #pragma directives after conversion and a compile error will occur. In such a case, delete the #pragma directive that was converted from the keyword.
|
__asm( )
|
Recognized as a normal function call.
It needs to be manually modified to the inline_asm function.
|
#pragma inline_asm and a function definition are output for each __asm( ).
A function call of __asm( ) is converted into a newly generated function call.
|
#pragma sfr
|
Use the -preinclude option of the CC-RL to include iodefine.h.
|
#include "iodefine.h" is inserted at the beginning of the file.
|
#asm-#endasm
|
A syntax error will occur.
It needs to be manually modified to the inline_asm function.
|
#pragma inline_asm and a function definition are output for each #asm-#endasm.
#asm-#endasm is converted into a newly generated function call.
|
#pragma interrupt
#pragma vect
#pragma rtos_interrupt
|
If there is an interrupt request name, use the -preinclude option of the CC-RL to include iodefine.h.
|
#include "iodefine.h" is inserted at the beginning of the file if there is an interrupt request name.
|
__CA78K0R__ macro
|
The macro is enabled (decimal constant 1).
|
Conversion is not performed and a message is output.
Enable the macro using the -D option of the CC-RL.
|