|
|
|
|
|
1
|
ネスト構造のコメント文がある場合
|
正常に変換できない場合があります。
|
コメントの範囲が不正となります。
|
3.章
|
2
|
##演算子等の使用により,キーワードを検出できない場合
|
メッセージを出力せず,変換しません。
|
エラーE0520065等になります。
|
3.章
|
3
|
#pragma sectionで,セクション名に「?」が含まれる場合
|
メッセージを出力せず,変換しません。
|
エラーE0520014になります。
|
3.4節
|
4
|
#pragma sectionのセクション名に,CC-RLには存在しないセクション名を指定している場合
|
メッセージを出力せず,変換しません。
|
ワーニングW0523037を出力し,#pragma指令を無視します。セクションの配置に失敗し,期待した動作とならない可能性があります。
|
3.4節
|
5
|
__asm("文字列")中の文字列に\nや\tを使用している場合
|
制御文字をそのまま出力します。
|
エラーE0550249になります。
|
3.5節
|
6
|
#asm~#endasm内のアセンブリ記述のコメント(“;”以降の記述)内に「/*」が含まれている場合
|
アセンブリ記述のコメントをそのまま出力します。
|
アセンブリ記述のコメント(“;”)よりもC記述のコメント(“/*”)を優先し,コメントの範囲が不正となります。
|
3.5節
|
7
|
__asm( )または#asm~#endasmのアセンブリ記述にラベルが含まれる場合
|
メッセージを出力します。
|
エラーE0550213になります。
|
3.5節
CC-RLユーザーズ・マニュアル #pragma inline_asm の[制限]
|
8
|
__asm( )または#asm~#endasmのアセンブリ記述に78K0固有の命令またはRL78とは動作が異なる命令を使用している場合
|
メッセージを出力せず,#pragma inline_asm関数内にそのまま出力します。
|
78K0固有の命令を使用している場合は,アセンブル・エラーになります。
RL78とは動作が異なる命令を使用している場合は,期待する動作にならない可能性があります。
|
3.5節
|
9
|
ファイル内に,同一関数に対する#pragma interruptとキーワード__interruptの記述がある場合
|
それぞれ,#pragma interruptに変換します。
|
#pragma指令が重複し,エラーE0523006になります。
|
3.6節
|
10
|
__interrupt, __interrupt_brk, __rtos_interruptの関数宣言の引数を省略した場合
|
#pragma指令を出力し,関数宣言はそのまま出力します。
|
void型の指定がないため,エラーE0523008になります。
|
3.6節
3.7節
|
11
|
型名,関数名,変数名等を取得する箇所において,マクロやtypedefなどを使用していた場合
|
メッセージを出力し,変換せずに出力します。
|
エラーE0520020, E0520065等になります。
|
3.6節
3.7節
3.9節
|
12
|
ファイル内に,同一関数に対する#pragma rtos_interruptとキーワード__rtos_interruptの記述がある場合
|
それぞれ,#pragma rtos_interruptに変換します。
|
#pragma指令が重複し,エラーE0523006になります。
|
3.7節
|
13
|
__directmapで,異なる変数に対して同一アドレスを指定している場合
|
メッセージを出力しません。
|
エラーE0541854になります。
|
3.9節
CC-RLユーザーズ・マニュアル #pragma address の[制限]
|