1ファイル内のswitch数の上限を256から2048に拡張しました。
ISO仕様に準拠し、テンプレート、例外処理をサポートしました。
#pragmaに対応したキーワードをサポートしました。
__interrupt、__indirect、__entry、__abs8/16、__regsave、__inline、__global_register
#pragma interrupt/indirect/entry(__interrupt/__indirect/__entry)で、ベクタテーブル(vect=番号)自動生成機能をサポートしました。
オプション | logo/nologo | 起動メッセージの出力有無指定 |
---|---|---|
structreg | サイズの小さい構造体パラメタ・リターン値のレジスタ渡し | |
longreg | 4byteパラメタ・リターン値のレジスタ渡し(H8/300) | |
stack= large/medium/small |
スタック領域アドレス計算サイズの指定 | |
align/noalign | データを境界調整毎に再配置指定 | |
speed=loop=1 | 2 | loop展開最適化(loop内処理のコピー)抑止指定追加 | |
double=float | double型データや浮動小数点定数をfloat型として扱う | |
拡張機能 | __regparam=2 | 3 | 関数単位にレジスタパラメタ数を指定 |
#pragma option | 関数単位にオプションを指定 | |
__near8/__near16 #pragma near8/16 |
データ毎にアドレス計算サイズを指定 | |
組み込み関数 | 符号無オーバーフロー演算の組み込み関数を追加 |
lang=cコンパイル時、アドレスに対するキャスト式のエラー出力を抑止し、DTCレジスタ等の初期設定をCで記述できるようになりました。
インクルードディレクトリ用環境変数(CH38)で、複数のディレクトリを指定できるようになりました。