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オプションで指定してください。 |