他コンパイラ向けに書かれたプログラムの移行支援機能を無効にします。
これ以外のものを指定した場合はコンパイル・エラーとなります。
-convert_cc=ca78k0rを指定した場合の動作は以下のとおりです。
-strict_stdオプション指定時に,__booleanキーワードをcharに置換します。 -strict_stdオプション非指定時に,__boolean,boolean,bitキーワードを_Boolに置換します。 |
||
キーワードで修飾された関数に対する#pragma指令が同じファイル内にある場合は,キーワードを削除します。そうでない場合は,キーワードを#pragma 指令に置換します。 |
||
キーワードで修飾された関数に対する#pragma指令が同じファイル内にある場合は,キーワードを削除します。そうでない場合は,キーワードを#pragma 指令に置換します。 |
||
キーワードを削除して新たに#pragma address を作成します。__sreg,sreg または__saddrを同時に指定した場合はコンパイル・エラーとなります。複数の変数を同一アドレスに指定した場合はエラーとなります。 |
||
関数や関数ポインタの宣言における__near, __farキーワードの記述位置は,CC-RLの仕様に従います。CA78KORの仕様で記述した場合は,構文エラーとなります。 farポインタの演算ルールについては「メモリ配置領域指定(__near/__far)」の「ポインタ演算」の項を参照してください。 |
||
割り込み要求名がBRK_Iの場合は,interruptまたはvectキーワードをinterrupt_brkに置換します。 スタック切り替え指定がある場合は削除し,警告メッセージを出力します。 割り込み要求名は,iodefine.hで定義したアドレスに変換します。iodefine.hのインクルードは手動で指定してください。 Cソース・ファイル中に#pragma指令のみを記述し関数宣言や関数定義がない場合は,ベクタテーブルを生成せず,リンク時にエラーとなりません。 |
||
割り込み要求名は,iodefine.hで定義したアドレスに変換します。iodefine.hのインクルードは手動で指定してください。 Cソース・ファイル中に#pragma指令のみを記述し関数宣言や関数定義がない場合は,ベクタテーブルを生成せず,リンク時にエラーとなりません。 |
||
関数HALT, STOP, BRK, NOPの呼び出しを__halt, __stop, __brk, __nopに置換します。 |
||
コンパイラ出力セクション名をCC-RL仕様に従ったセクション名に置換します。アドレス指定がある場合は削除し,警告メッセージを出力します。CC-RLのセクション名に置換できない場合は,#pragma指令を削除し警告メッセージを出力します。 CC-RLで記述可能なセクション名については,「コンパイラ出力セクション名の変更(#pragma section)」を参照してください。 |
||
関数rolb, rorb, rolw, rorwの呼び出しを__rolb, __rorb, __rolw, __rorwに置換します。 |
||
-memory_modelオプションでsmallを指定した場合,または,-cpuオプションでS1を指定し-memory_modelオプションを指定しなかった場合にマクロが有効となります(10進定数1)。 |
||
関数や関数ポインタに対する__near, __farキーワードの記述位置は,CC-RLの仕様に従います。CA78KORの仕様で記述した場合は,構文エラーとなります。 |
||
-convert_cc=nc30を指定した場合の動作は以下のとおりです。
farポインタの演算ルールについては「メモリ配置領域指定(__near/__far)」の「ポインタ演算」の項を参照してください。 |
||
コンパイラ出力セクション名をCC-RLのセクション名に置換します。 |
||
-convert_cc=iarを指定した場合の動作は以下のとおりです。
farポインタの演算ルールについては「メモリ配置領域指定(__near/__far)」の「ポインタ演算」の項を参照してください。 |
||||
farポインタの演算ルールについては「メモリ配置領域指定(__near/__far)」の「ポインタ演算」の項を参照してください。 |
||||
"#pragma interrupt 関数名 (vect=アドレス)"に置換します。 関数名は#pragma vectorに後続する関数宣言中の関数名とし,__interruptキーワードは削除します。 __interrupt関数が後続しない場合は,#pragma宣言を削除します。 割り込みハンドラに複数の割り込み要求名を指定した場合,最初の割り込み要求名を設定し,2つ目以降の割り込み要求名は警告を出して無視します。 |
||||
"#pragma interrupt 関数名 (bank={RB0 | RB1 | RB2 | RB3})"に置換します。 関数名は#pragma bankに後続する関数宣言中の関数名とし,__interruptキーワードは削除します。 |
||||
forced指定時は#pragma inline,never指定時は#pragma noinlineに置換します。 なお,forced指定時に必ずインライン展開されるとは限りません。 適用する関数は#pragma inlineに後続する関数宣言中の関数とします。 何も後続しない場合は,#pragma指令を削除し警告メッセージを出力します。 IAR形式の#pragma inlineのみ使用可能です。CC-RL形式の#pragma inlineはコンパイル・エラーとなります。 |
||||
絶対アドレスを指定した場合,#pragma addressに置換します。 #pragma addressで用いる変数名は#pragma locationに後続する変数宣言中の変数名とします。 |
||||
アライメントが1と判断できた場合はCC-RLの#pragma packに,アライメントが2と判断できた場合はCC-RLの#pragma unpackに変換します。 |
||||
-memory_modelオプション,または,-cpuオプションの指定に応じて以下のいずれかの値になります。
|
||||
-memory_modelオプション,-cpuオプションの指定にかかわらず,値は__DATA_MODEL_NEAR__となります。 |
||||