RENESAS TOOL NEWS 2004年12月16日 : RSO-SQMlint_1-041216D
MISRA Cルールチェッカ SQMlint
ご使用上のお願い
-- __sectop()および__secend()演算子について --
|
MISRA Cルールチェッカ(ルネサスコンパイラ用拡張機能)SQMlint の使用上の注意事項を連絡します。
- __sectop()および__secend()演算子に関する注意事項
- 該当製品
SQMlint V.1.00 Release 1 および V.1.01 Release 00
- 内容
__sectop()および__secend()演算子を関数ポインタの初期値として使用すると、ルール1違反になり、メッセージ「not assignable type (void *) for type(void (*)(void))」が出力されます。
- 2.1 発生条件
- 以下の条件をすべて満たす場合に発生します。
| (1) | 関数へのポインタを宣言する。 |
| (2) | (1)の初期値として、__sectop()または__secend()を使用する。 |
- 2.2 発生例
---------------------------------------------------------------------
extern void func(void);
void (*fp_array[])(void) = {
func,
__secend("S")
};
-----------------------------------------------------------------------
- 回避策
発生条件に該当する箇所に対して出力されるメッセージは無視してください。
- 恒久対策
次期バージョンで改修する予定です。