C and C++ Binaries


LANG.STRUCT.UA : 無意味な代入

要旨

既に変数が持っている値と同じ値が代入されています。

プロパティ

クラス名 Useless Assignment
日本語クラス名 無意味な代入
クラス分類 冗長性 (redundancy)
ニーモニック LANG.STRUCT.UA
カテゴリー
MisraC2023 MisraC2023:2.2 A project shall not contain dead code
Misra2012 Misra2012:2.2 A project shall not contain dead code
Misra2004 Misra2004:14.2 All non-null statements shall either (a) have at least one side-effect however executed, or (b) cause control flow to change
AUTOSARC++14 AUTOSARC++14:M0-1-9 There shall be no dead code.
MisraC++2008 MisraC++2008:0-1-9 There shall be no dead code.
CWE CWE:1164 Irrelevant Code
CERT-C CERT-C:MSC12-C Detect and remove code that has no effect or is never executed
JSF++ JSF++:187 All non-null statements shall potentially have a side-effect.
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで有効になっています。チェックを無効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += discard class="Useless Assignment"

int useless_assignment(void){
    int i = rand();
    int j = i + 1;
    i = j - 1;        /* 'Useless Assignment' warning issued here */
    return i;
}

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。