RENESAS TOOL NEWS 2004年10月16日 : RSO-SQMlint-041016
MISRA Cルールチェッカ SQMlint
V.1.01 Release 00 へのリビジョンアップのお知らせ
|
MISRA Cルールチェッカ SQMlintを V.1.00 Release 1から V.1.01 Release 00に
リビジョンアップしました。
- リビジョンアップ内容
- 1.1 新機能
- M32R、M16Cファミリ用コンパイラに加え、新たに以下のコンパイラパッケージをサポートします。
SuperH RISC engine ファミリ
C/C++コンパイラパッケージ V.9.00 Release 00以降 (Windows版のみ)
- 1.2 仕様変更
-
| (1) | オプション"-ignore 1"を指定した場合、
MISRA C ルール1 に対する違反がすべて抑止されていましたが、言語拡張仕様に対するメッセージのみを抑止し、
C言語の文法違反に関しては出力するように変更しました。 |
| (2) | 列挙型仮引数を持つ関数にその列挙型の列挙子を引数として渡した場合、
ルール77 違反の違反にならないようにしました。 |
| (3) | ルール18 では、定数値に型をあらわす接尾語をつけることを要求しています。
しかし負数の場合、文法的には正の定数に単項マイナス演算子を作用させています。
このため「1」は整数値であるためU やL をつけないとルール18違反となりますが、
「-1」は式であるためルール18 違反になりませんでした。これを単項+、単項-および( )については式とみなさないように変更しました。 |
| (4) | 関数へのポインタを宣言して、かつそのポインタ変数を関数呼び出しとして使用した場合は、
ルール22では違反であるがSQMlintでは違反としていませんでした。
関数へのポインタを関数呼び出し形式で使用した場合もルール22 の違反と判断するように変更しました。 |
| (5) | ルール82 では、関数の出口が1 個だけであることを要求しています。
ローカルブロック内にreturn を記述した場合、関数末尾には見えないreturn があるため出口が2 個あるとみなしてルール82 違反になるよう変更しました。 |
| (6) | ルール85 では、後ろに括弧がない関数識別子だけを書くことを禁止しています。しかし関数ポインタの初期値として記述する場合、
関数識別子だけを書くことは一般的ですので関数識別子を初期値として用いる場合はルール85 の対象外になるように変更しました。 |
| (7) | 構造体メンバの名前と、自動変数の名前が一致する場合をルール21違反としていましたが、
ルール違反の対象外になるように変更しました。
この記述は"MISRA C Technical Clarification"でルール21違反ではないとされているため、仕様を変更しました。 |
| (8) | プロトタイプ宣言と関数定義の両方が存在し、プロトタイプ宣言中の仮引数に名前がない場合はルール74違反としていましたが、
ルール違反の対象外になるように変更しました。ルール73 では、プロトタイプ宣言に仮引数名を記述しないことを認めているため、
仕様を変更しました。 |
- リビジョンアップと新規購入方法
- 2.1 リビジョンアップ(無償)
- オンラインでリビジョンアップできます。以下からダウンロードしてください。
日本語版
英語版
- 2.2 新規購入
- ご注文の際には、以下の情報を最寄りのルネサス販売または特約店までご連絡ください。
| 製品型名 | : | R0C00000SCW01R |
| バージョン番号 | : | V.1.01 |
| リリース番号 | : | Release 00 |