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

CA78K0R

Extended Function

Operation when -convert_cc Option is Used

Conversion by CcnvCA78K0R

__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.