AdLintの警告で,行番号がおかしいケースに遭遇しました. 具体的には次のソースコードです.
int screenshot(const int a, const int b, const int c) { int code = 0; if (a == 1) { if (b == 1) { code = 0; } else if (c == 1) { code = 0; } } else { code = 1; } return code; }
これをAdLint 2.4.0で解析すると,変数aを判定する4行目について警告W1069が出ますが,これは変数bを判定する6行目の間違いではないかと思います.
W,../ifelseif.c,4,3,W1069,この `if-else-if' 文には、末尾の `else' 節がありません。
Anonymous
You seem to have CSS turned off. Please don't fill out this field.
ご報告ありがとうございます。
申し訳ありません。AdLint の不具合でした。
サンプルコードのように、完結していない if-else-if 文の並びが完結した if-else 文の内部に現れる場合、ご報告いただいた現象が発生することが分かりました。
本件の対策を盛り込み、本日 AdLint 2.6.10 としてリリースしました。
お手数おかけしますが、AdLint 2.6.10 にアップデートしていただき、再度ご確認をお願いいたします。
AdLintの警告で,行番号がおかしいケースに遭遇しました.
具体的には次のソースコードです.
これをAdLint 2.4.0で解析すると,変数aを判定する4行目について警告W1069が出ますが,これは変数bを判定する6行目の間違いではないかと思います.
ご報告ありがとうございます。
申し訳ありません。AdLint の不具合でした。
サンプルコードのように、完結していない if-else-if 文の並びが完結した if-else 文の内部に現れる場合、ご報告いただいた現象が発生することが分かりました。
本件の対策を盛り込み、本日 AdLint 2.6.10 としてリリースしました。
お手数おかけしますが、AdLint 2.6.10 にアップデートしていただき、再度ご確認をお願いいたします。