3.13 Difference from Conversion Specifications of -convert_cc Option of CC-RL

The CC-RL does not have any option for compiling the source code of the CA78K0 at compilation.

The table below shows the differences regarding the extended functions whose operations differ between when the "-convert_cc=ca78k0r" option for compiling the source code of the CA78K0R has been specified in the CC-RL and when conversion by the CcnvCA78K0 has been performed.

 

Table 3.7

Different Operation from -convert_cc=ca78k0r Option of CC-RL

CA78K0

Extended Function

Operation when -convert_cc=ca78k0r Option is Used

Conversion by CcnvCA78K0

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

__callf

__leaf

__pascal

__flash

__flashf

__temp

__mxcall

A compile error will occur.

Deleted.

callf

noauto

norec

A compile error will occur.

Deleted when the -A option is not specified.

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

Review the assembly-language code because the device is changed.

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

Review the assembly-language code because the device is changed.

va_start_banked

va_starttop_banked

Recognized as a normal function call.

Converted to va_start.

#pragma sfr

Use the -preinclude option of the CC-RL to include iodefine.h.

Review access to an SFR because the device is changed.

#include "iodefine.h" is inserted at the beginning of the file.

Review access to an SFR because the device is changed.

#asm-#endasm

A syntax error will occur.

It needs to be manually modified to the inline_asm function.

Review the assembly-language code because the device is changed.

#pragma inline_asm and a function definition are output for each #asm-#endasm.

#asm-#endasm is converted into a newly generated function call.

Review the assembly-language code because the device is changed.

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

Review the interrupt request name because the device is changed.

#include "iodefine.h" is inserted at the beginning of the file if there is an interrupt request name.

Review the interrupt request name because the device is changed.