RENESAS TOOL NEWS 2004年11月16日 : RSO-SQMlint_2-041116D
MISRA Cルールチェッカ SQMlint
ご使用上のお願い
-- ルール60に関する注意事項 --
|
MISRA Cルールチェッカ(ルネサスコンパイラ用拡張機能)SQMlint の使用上の注意事項を連絡します。
- 該当製品
SQMlint V.1.00 Release 1 および V.1.01 Release 00
- 内容
"if ~ else if ~ else"構文中の elseの実行文に、else文を持たない if文を記述すると、
ルール60違反でないにもかかわらず、違反であるとメッセージが出力されることがあります。
- 2.1 発生条件
- 以下の条件をすべて満たす場合に発生します。
| (1) | if ~ else if ~ elseの構文を記述する。 |
| (2) | (1)のelseの実行文を{ }で囲って記述する。 |
| (3) | (2)の実行文に、elseを持たないif文を記述する。 |
- 2.2 発生例
---------------------------------------------------------------------
void func(void)
{
if( 1 ){ // 発生条件(1)
. . . . . . . . . . . . . . . . . .
} else if( 1 ) {
. . . . . . . . . . . . . . . . . .
} else { // 発生条件(2)
if( 1 ){ // 発生条件(3)
. . . . . . . . . . . . . . . . . .
}
}
}
-----------------------------------------------------------------------
- 回避策
2.1の発生条件のもとで出力されるメッセージは無視してください。
- 恒久対策
次期バージョンで改修する予定です。