C and C++


LANG.STRUCT.GOTO : goto文の使用

要旨

コードが goto 文を含んでいます。

このクラスは戻るgoto文異なるブロック内のラベルへジャンプするgoto文 の上位集合となります。

プロパティ

クラス名 Goto Statement
日本語クラス名 goto文の使用
クラス分類 スタイル (style)
ニーモニック LANG.STRUCT.GOTO
カテゴリー
MisraC2023 MisraC2023:15.1 The goto statement should not be used
Misra2012 Misra2012:15.1 The goto statement should not be used
Misra2004 Misra2004:14.4 The goto statement shall not be used
AUTOSARC++14 AUTOSARC++14:A6-6-1 The goto statement shall not be used.
MisraC++2023 MisraC++2023:9.6.1 The goto statement should not be used
CWE CWE:710 Improper Adherence to Coding Standards
JSF++ JSF++:189 The goto statement shall not be used.
POW10 POW10:1 Restrict to simple control flow constructs.
JPL JPL:11 Do not use goto, setjmp or longjmp.
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Goto Statement"

void lang_struct_goto(int a){
    int x = a;
    mylab : x += 5;
    if (x < 10){
        goto mylab;    /* 'Goto Statement' warning issued here*/
    }
}

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

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