RENESAS TOOL NEWS 2004年10月01日 : RSO-SHC-041001D
Renesas C/C++ Compiler Package
for SuperH RISC engine family
V.9.00 Release 00へのバージョンアップのお知らせ
|
SuperH RISC engine ファミリ用C/C++コンパイラパッケージをV.8.00 Release 04からV.9.00 Release 00にバージョンアップしました。
- バージョンアップ内容
- 1.1 新機能および改善
-
| (1) | コンパイラ |
| |
- 新CPUのSH-2A、およびSH2A-FPUをサポートしました。
また、SH-2A、およびSH2A-FPUのレジスタTBRを活用する機能(tbrオプション、および#pragma tbr)を追加しました。
- 以下の項目をANSIに準拠して解釈するようにしました。
(a) 配列のインデックス
例:
---------------------------------------
int iarray[10], i=3;
i[iarray] = 0; /* iarray[i] = 0;と同じになります */
---------------------------------------
(b) unionのビットフィールド指定
例:
---------------------------------------
union u {
int a:3;
};
---------------------------------------
(c) 定数演算
例:
---------------------------------------
static int i=1||2/0; /* ゼロ除算をWarningに変更しました */
---------------------------------------
- ANSIに定義されているライブラリ関数strtoul、およびマクロFOPEN_MAXを追加しました。
- 以下のオプションを追加しました。
(a) strict_ansiオプション:以下の項目をANSIに準拠して解釈します。
・unsigned intとlong型の演算
・浮動小数点演算の結合則
これにより、演算結果がVer.8までと異なる場合があります。
(b) enable_registerオプション
register記憶クラスを指定した変数を、優先的にレジスタに割り付けます。
(c) smapオプション
コンパイル対象ファイル内で定義された外部変数について外部変数アクセス
最適化を実施します。
mapオプションのようなリコンパイルは必要ありません。
- 次のSH-2A、およびSH2A-FPU専用命令を組み込み関数として追加しました。
飽和演算、TBR設定、およびTBR参照。
- C言語で記述できない次の命令を組み込み関数として追加しました。
Tビット参照、Tビット設定、連結レジスタの中央切り出し、キャリー付き加算、ボロー付き減算、符号反転、1ビット除算、回転、およびシフト。
- 以下のメモリ空間配置指定方法を追加しました。
(a) abs20, abs28, およびabs32オプション
(b) 拡張機能#pragma abs20, #pragma abs28, および#pragma abs32
- 変数を絶対アドレスに配置する拡張機能 #pragma addressを追加しました。
- 以下の制限値を緩和しました。
(a) 繰り返し文(while文、do文、for文)、選択文(if文、switch文)の
組み合わせによるネストの深さ:32レベル → 4096レベル
(b) 1関数内で指定可能なgotoラベルの数:511個 → 2147483646個
(c) switch文のネストの深さ:16レベル → 2048レベル
(d) 1つのswitch文内で指定可能なcaseラベルの数:511個 → 2147483646個
(e) 関数定義、関数呼び出しで指定可能引数:63個 → 2147483646個
(f) セクション名長:31バイト → 8192バイト
(g) 1ファイルあたりの#pragma sectionで指定できるセクション数:
64個 → 2045個
- 数学関数ライブラリの演算精度を向上しました。
|
|
| (2) | アセンブラ |
| |
- 新CPUのSH-2A、およびSH2A-FPUをサポートしました。
- .STACK制御命令を追加しました。
アセンブラソース内に書かれた.STACKで宣言したスタックサイズをスタック解析ツールが自動的に読み込みます。
- defineオプション、および.DEFINE制御命令の制限値を32文字から無制限に変更しました。
|
|
| (3) | 最適化リンケージエディタ |
| |
- binaryオプションに指定するセクションに対して、境界調整数の指定ができるようになりました。
- showオプションにxreferenceパラメータ(show=xreference)を追加しました。
これにより、変数/関数がどこから参照されているかを示すクロスリファレンス情報がリンケージリスト内に出力されます。
- msg_unusedオプションを追加しました。
プログラム内で一度も参照されない外部定義シンボルの存在をメッセージ出力します。
|
|
| (4) | 以下のシミュレータデバッガ(Windows版のみサポート)を追加しました。 |
| |
- SH-4A Cycle Baseシミュレータ
- SH4AL-DSP Cycle Baseシミュレータ
- SH2A-FPU Functional シミュレータ
- SH2A-FPU Cycle Base シミュレータ
|
- 1.2 改修内容
-
| (1) | High-performance Embedded Workshop (Windows版のみ) |
| |
|
- バージョンアップと購入方法
- 2.1 バージョンアップ
- WEBからのバージョンアップはできません。新規ご購入をお願いいたします。
- 2.2 購入方法
- 以下の情報を最寄りのルネサス販売各営業または特約店までご連絡ください。
| 製品型名 | : | R0C40700XSW09R (Windows版)
R0C40700XSS09R (Solaris版)
R0C40700XSH09R (HP-UX版) |
| バージョン番号 | : | V.9.00 |
| リリース番号 | : | Release00 |