CubeSuite アップデート情報
CA78K0R
V1.02からV1.10への変更点
制限事項の解除
CA78K0R Ver.1.02 の以下の制限事項を解除しました。
- No.30 -qjオプション指定に関するC0101エラーとなる制限
-
【内 容】
以下の条件をすべて満たすときに、内部エラー(C0101)になります。
(1) ジャンプ最適化オプション(-qj)を有効にする。
(2) if(0)、あるいはif(1)のelse節など、実行しない処理中で以下のいずれかを記述する。
- 配列、構造体、共用体の初期化処理
- テーブルジャンプを伴うswitch文
- No.31 far領域のアドレスを long/unsigned long 型にキャストしたときの制限
-
【内 容】
far領域のアドレスを long/unsigned long 型にキャストした値を初期値とすると、アドレスの最上位1バイトの値が 0FH 固定となります。
- No.32 ##演算子を使ったマクロ展開でエラーとなる制限
-
【内 容】
## 演算子の直後が、関数形式マクロのパラメータでなく、大小英字でも下線 _ でもない時、E0803エラーが出る場合があります。
## 演算子の直前のトークンと直後のトークンを連結して、別のトークンを生成する時は、E0711,E0301 などの E0803 以外のエラーが出る場合があります。
- No.33 アセンブラ・ソースに割り込み関数のシンボル情報が出ない制限
-
【内 容】
以下の条件をすべて満たすときに、リンク時にE3405エラーになります。
(1) #pragma interruptによる割り込み関数のベクタテーブルの生成指定がある。
(2) 同一ソース内に割り込み関数の定義がない。
(3) -no, アセンブラ・ソース・モジュール・ファイル出力(-a or -sa)、デバッグ情報出力(-g)オプションを有効にする。
注意事項の解除
CA78K0R Ver.1.02 の以下の注意事項を解除しました。
-
【内 容】
sreg(あるいは__sreg)宣言、__directmap宣言をtypedef名の後ろに記述した場合、エラーとなります
sreg(あるいは__sreg)宣言、__directmap宣言をtypedef名の後ろに記述した場合、E0710エラーとなります。
仕様変更
以下の仕様を変更しました。
-
(1) セルフ・プログラミングに対応したROM化機能の追加
セルフ・プログラミングに対応したプログラム・コードのROM化機能を追加しました。
(2) RL78ファミリに対応
RL78ファミリに対応しました。
ただし、拡張命令非搭載品のみです。
(3) 積和演算器の対応
RL78の積和演算器に対応して、” #pragma mac “指令とmacuw関数, macsw関数を追加しました。
(4) 条件式に対する行番号情報の改善
条件式に対する行番号情報を改善しました。
(5) シンボル名長が8文字以上のデバッグ情報の改善
Cソース中のアセンブラのシンボル名長が8文字以上のときのシンボル情報(デバッグ情報)への登録の方法を改善しました。
V1.01からV1.02への変更点
制限事項の解除(ビルド・ツール)
以下の制限事項を解除しました。
- No.29 オペランドがword[BC]の命令(mov, movw)におけるアクセスの制限事項
-
【内 容】
以下の条件(1)あるいは(2)のいずれかの場合、出力コードが不正となります。
オペランド”word[BC]”でword+BCのアドレスが10000Hを超えると意図しないアドレスをアクセスします。
(1)「ポインタ-定数」の形で減算を使用して間接参照する場合
(2)配列の要素を参照する際に、添字の式中の変数が負の値となる場合、もしくは「集成体*1を示すアドレス+オフセット (負の値となる変数を含む式)」の形で間接参照する場合
*1 構造体、配列
仕様の変更
クロスリファレンス・リスト・ファイルの出力情報を改善しました。
V1.00からV1.01の変更点
制限事項の解除
以下の2件の制限事項を解除しました。
- No.27 -ngオプションを指定しASM文を含む関数において、分岐命令でエラーとなる制限
-
【内 容】
-ngオプションを指定し、ASM文を含む関数において、ASM文より後ろにある分岐命令でエラーとなる場合があります。
以下のすべての条件を満たすときエラーとなる場合があります。
【条件】
(1) 関数内にASM文がある。
(2) 同関数内に分岐命令を出力する文(if文,for文,while文など)がある。
ただしこの時、アセンブル時にエラーとなりますのでオブジェクト・モジュール・ファイルは生成されません。
エラーとならなければ、本制限に該当しません。
- No.28 ネストしたif文を抜ける直後の文に対して、行番号情報が出ない制限
-
【内 容】
以下のすべての条件をみたすとき、ネストしたif文を抜けた直後の文に対して行番号情報が出ない場合があります。出力コードは正しいです。
行番号情報が出なかった行にはブレーク・ポイントの設定が出来ません。
【条件】
(1) 2つ以上のif文が入れ子になっているネストレベル3以上のif文がある。
(2) 上のネストレベルにあるelseがif文の行番号より大きい。
(3) 直後に文が続く、上のネストレベルにあるif文が少なくとも1つある。
同名セグメントの行情報の改善
複数のファイルに定義された同名セグメントの行情報を拡張しました。