RENESAS TOOL NEWS 2005年06月16日 : RSO-SQMlint-050616D
MISRA C ルールチェッカ SQMlint
ご使用上のお願い |
MISRA Cルールチェッカ SQMlint の使用上の注意事項を連絡します。
- ルール29違反のメッセージが出力される場合の注意事項
- 該当製品
MISRA C ルールチェッカ
SQMlint V.1.00 Release 0 ~ V.1.02 Release 00
- 内容
列挙変数に整数を代入する式に対してルールに違反していないにも関わらず「ルール29違反」のメッセージが出力されます。
- 2.1 発生条件
- 以下の条件をすべて満たす場合に発生します。
| (1) |
列挙変数に整数を代入する式が存在する。 |
| (2) |
MISRA Cルール29を検査の対象とするオプションを選択してコンパイルしている(オプション名はコンパイラによって異なります)。 |
- 2.2 発生例
-
------------------------------------------------------------
enum E { ONE = 1, TWO };
enum E e;
e = 1; /* 発生条件 (1) */
------------------------------------------------------------
- 回避策
以下のいずれかの方法で回避してください。
| (1) |
発生条件に該当する場合、ルール29違反メッセージは無視してください。 |
| (2) |
列挙変数に整数を代入している式を、列挙定数を代入する式に変更してください。
-----------------------------------------------------------
enum E { ONE = 1, TWO };
enum E e;
e = ONE; /* 列挙変数 e に列挙定数 ONE を代入 */
-----------------------------------------------------------
|
- 恒久対策
次期バージョンで改修する予定です。