3.13 CC-RLオプション-convert_ccとの変換仕様差分
CC-RLのオプション-convert_cc指定時と,CcnvCA78K0Rによる変換とで動作が異なる拡張機能について,差分を示します。
表 3.7 | CC-RLオプション-convert_ccと異なる動作 |
|
|
|
__boolean
|
-ansiオプション指定なしの場合は_Bool,-ansiオプション指定ありの場合はcharとして扱います。
|
常に_Boolに変換します。
CC-RLの-ansiオプション指定時は_Boolが使用できませんので,手動で型を変更してください。
|
__interrupt
__interrupt_brk
__rtos_interrupt
|
同名関数に対する#pragma指令が既に存在する場合は,キーワードを無視します。
|
関数宣言の前に#pragma指令を追加します。同名関数に対する#pragma指令が既に存在する場合は,変換後に#pragma 指令が重複してCC-RLではコンパイル・エラーとなります。その場合は,キーワードを変換した#pragma指令を削除してください。
|
__asm( )
|
通常の関数呼び出しと認識します。
手動でinline_asm関数に修正する必要があります。
|
各__asm( )に対して#pragma inline_asmと関数定義を出力します。
__asm( )呼び出しは,新しく生成した関数呼び出しに変換します。
|
#pragma sfr
|
CC-RLのオプション-preinclude でiodefine.hをインクルードしてください。
|
ファイルの先頭に#include “iodefine.h”を挿入します。
|
#asm 〜 #endasm
|
構文エラーとなります。
手動でinline_asm関数に修正する必要があります。
|
各#asm〜#endasmに対して#pragma inline_asmと関数定義を出力します。
#asm〜#endasmを,新しく生成した関数呼び出しに変換します。
|
#pragma interrupt
#pragma vect
#pragma rtos_interrupt
|
割り込み要求名がある場合,CC-RLのオプション-preinclude でiodefine.hをインクルードしてください。
|
割り込み要求名がある場合,ファイルの先頭に#include “iodefine.h”を挿入します。
|
マクロ__CA78K0R__
|
マクロが有効となります(10進定数1)。
|
変換せず,メッセージを出力します。
マクロを有効にするには,CC-RLの-Dオプションで指定してください。
|