2009年3月2日掲載の以下の2点の問題を改修しました。
2009年3月2日掲載の以下の2点の問題を改修しました。
以下の2つのオプションを追加しました。
2008年7月30日掲載の以下の3点の問題を改修しました。
次のオプションを最適化リンケージエディタ(以降、リンカと略します)に追加しました。
Cソース例 ----------------------------------------- void f() { : g(); /*直後の関数gを呼び出している*/ } void g() { : } -----------------------------------------
上記1.および2.のオプション機能の詳細は、コンパイラパッケージに 添付されている以下の資料を参照ください。
"最適化リンケージエディタ V.9.01 仕様追加オプションについて"
* 変数および関数が削除された場合は、リンカにメッセージ(メッセージ番号L0004)を表示させることができます。リンカのmessageオプションを使用して、このメッセージを表示させてください。
** リンカのバージョンの確認方法
注意:
該当の.sniファイルを、スタック解析ツール (Call Walker)に 入力すると、誤ったスタック使用量が表示されます。
注意:
該当のロードモジュールをデバッガにロードすると誤った 内容を表示します。
* リンカのバージョンの確認方法
次の機能を追加しました。
binaryオプション入力セクションへの境界調整数指定機能
binaryオプションに指定するセクションに対して、境界調整数を指定することができます。
クロスリファレンス情報出力機能
show=xreferenceオプション指定により、クロスリファレンス情報をリンケージリスト内に出力します。これにより、変数または関数がどこから参照されているのかを知ることができます。
参照されないシンボルの通知機能
msg_unusedオプション指定により、最適化を使用しない状況でも参照されないシンボルの存在を知ることができます。
以降6点の問題を改修しました。
共通コード統合最適化指定時のデバッグ情報
共通コード統合最適化(optimize=same_code)が有効な場合、生成されたデバッグ情報をもとにデバッガでステップ実行を行うと意図しない関数へ飛ばされる場合がある。
サブコマンドファイルのinputオプション記述に対する不正なウォーニング出力
サブコマンドファイル内で、例のような記述がされた場合、不正なウォーニングメッセージ(L1010)が出力される。
例: ----------------- -input=a.obj -input=b.obj -input= -----------------
共通コード統合最適化による内部エラーの発生または不正なオブジェクト生成
共通コード統合最適化が有効な場合に不正なコードが生成される、または、他のリンク時最適化の際に内部エラーとなる場合がある。
発生条件:以下の条件をすべて満たす場合、発生する可能性があります。
短絶対アドレッシング活用の最適化によるエラー発生
短絶対アドレッシング活用の最適化が有効な場合、不正なエラー(L2330)が出力される場合がある。
発生条件:以下の条件をすべて満たす場合、発生する可能性があります。
レジスタ退避および回復コードの最適化による不正なオブジェクト生成
コンパイル時に引数格納レジスタ指定を行った場合、レジスタ退避および回復コードの最適化によって不正なコードが生成される場合がある。
発生条件:以下の条件をすべて満たす場合、発生する可能性があります。
内部エラー
以下に該当する場合に内部エラーが発生する。