|
1. High-performance Embedded Workshop (Windows®版)
1.1 ナビゲーション機能
ナビゲーション機能のカテゴリ"C++クラス"をデフォルトでオフに設定しました。
1.2 終了時の不具合対策
High-performance Embedded Workshopの終了時に異常終了する不具合を対策しました。
1.3 ファイル再読み込み確認メッセージの表示
エディタウインドウで開いているファイルを外部エディタで編集した場合、ファイル再読み込みの確認メッセージが表示されない不具合を対策しました。
(本不具合は、Ver. 3.0.02のみ発生します。)
1.4 メモリメニューの検索機能不正
メニューバーからメモリ(M)->検索(S)...を選択してメモリを検索した場合、空のメモリウィンドウが表示される不具合を対策しました。
1.5 Symbol Loadコマンド
環境により、Symbol Loadコマンドに必要なファイルがインストールされず、コマンドを実行しても動作しないという不具合を対策しました。
1.6 ビルド用プロジェクトの消失に関する注意事項の対策
SHC Ver.8.0.00/Ver.8.0.01またはH8C Ver6.0.00のパッケージ製品をインストールした後に、エミュレータ製品を同じフォルダへインストールした場合、ビルド用のプロジェクトタイプが表示されないという不具合を対策しました。
1.7 TCL関数内のコマンド不正
TCL関数(procコマンドで定義)内でパラメータに接頭コード(H',D',O',B')を指定した場合、コマンドが正常に動作しないという不具合を対策しました。
【例】
proc mem_read {} {
md H'FFEF80 H'32 LONG
}
2. コンパイラ
2.1 RENESAS TECHNICAL UPDATE TN-CSX-065A/JA
以下の不具合を対策しました。
a) 符号無し変数に対する定数除算時オブジェクト不正
b) 構造体初期値不正
c) ビットフィールド設定不正
d) 3byte構造体使用時の不正値設定
e) 関数呼び出しの不正削除
f) 2次元配列のアドレス演算結果不正
g) ビットフィールド設定・参照不正
h) ループ制御変数の置換不正
i) 定数の不正伝播
j) 文字列データの不正統合
k) cpuexpand指定が有効にならない
l) 4byte以下の構造体転送不正
2.2 内部エラー
以下の条件で内部エラーが発生することがある問題点を対策しました。
a) ループ内で不変の配列参照があり、そのインデックス値にint(short)型の範囲を超える定数を使用した場合(C4098出力)
b) 変数と定数の演算を含む式が配列のインデックスに記述され、その配列を判定式の条件に使用した場合(C4098出力)
c) 先頭メンバが配列・構造体型の初期値ありローカル共用体を定義した場合(C4774出力)
d) 連続したループで1つ目のループ内の最初の文と2つ目のループの初期化条件が共通だった場合(C4098出力)
e) 500個以上の変数を宣言し、abs8/abs16指定変数と指定なし変数が混在した場合(C4712出力)
f) (1byte変数-定数)の式において、オーバーフローが発生する場合(C4722出力)
2.3 オーバーフローを伴う演算判定
H8S,H8/300シリーズ C/C++コンパイラ Ver.6.0.00で注意事項としていた、"オーバフローを伴う演算判定"を対策しました。
2.4 cpuexpandオプションの解釈変更
下記の10パターンはH8SXでは拡張命令の対象外となりますが、H8SX以外のCPUでは拡張命令の対象となります。
a) signed long = signed int << constant
b) signed long = unsigned int << constant
c) unsigned long = signed int << constant
d) unsigned long = unsigned int << constant
e) signed int = ( signed int << constant) / signed int
f) signed int = (unsigned int << constant) / signed int
g) signed int = (unsigned int << constant) / unsigned int
h) unsigned int = ( signed int << constant) / signed int
i) unsigned int = (unsigned int << constant) / signed int
j) unsigned int = (unsigned int << constant) / unsigned int
3. アセンブラ
3.1 デバッグ時のアドレスカラム値不正
H8S,H8/300シリーズ C/C++アセンブラ Ver.6.0.01において注意事項としていた問題を対策しました。
【発生条件】
以下の条件を全て満たす場合、発生することがあります。
a) 最適化オプション(optimize)を指定している。
b) locateを.SECTION制御命令内で記述している。
4. 最適化リンケージエディタ
4.1 セクションのオーバーレイ配置指定時の不要なエラーメッセージ出力
初期値なしデータセクションをオーバーレイ配置した際、出力形式にbinary/HEX/S-typeを指定すると不要なエラーメッセージ(L2022)が出力される問題点を対策しました。
4.2 間接アドレッシングモード活用最適化指定時のオブジェクト不正
間接アドレッシングモード活用最適化を指定した場合に、シンボルの参照アドレスが0番地になる場合がある不具合を対策しました。
【発生条件】
以下の条件をすべて満たす場合、発生することがあります。
a) 間接アドレッシングモード活用最適化(optimize=function_call)が有効である。
b) relocatableファイルが入力される。
c) b)のrelocatableファイルは、複数のobjectファイルから生成されている。
d) b)のrelocatableファイルを生成している複数のobjectファイルは、コンパイル時の -goptimizeオプション指定がある
ものとないものが混在している。
e) b)のrelocatableファイルの他にも入力するファイルが存在する(relocatableファイル、objectファイル、ライブラリ)。
4.3 Internal error対策
a) アドレッシングモード短縮最適化(optimize=short_format)が有効な場合に、内部エラー(L8996)となる場合がある不具合を
対策しました。
b) 共通コード統合最適化(optimize=same_code)が有効な場合に、内部エラー(L4001)となる場合がある不具合を対策しました。
|