C and C++


LANG.STRUCT.DECL.VLA : 可変長配列の宣言

要旨

可変長配列が宣言されています。

プロパティ

クラス名 Declaration of Variable Length Array
日本語クラス名 可変長配列の宣言
クラス分類 スタイル (style)
ニーモニック LANG.STRUCT.DECL.VLA
カテゴリー
MisraC2023 MisraC2023:18.8 Variable-length array types shall not be used
Misra2012 Misra2012:18.8 Variable-length array types shall not be used
AUTOSARC++14 AUTOSARC++14:A18-1-1 C-style arrays shall not be used.
CERT-C CERT-C:MSC23-C Beware of vendor-specific library and language differences
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっており、プロジェクトには非正規の C向けAST が必要になります。有効にするにはプロジェクト設定ファイル (configuration file) に以下の WARNING_FILTER ルールと RETAIN_UNNORMALIZED_C_AST 設定を追加してください。
RETAIN_UNNORMALIZED_C_AST = Yes
WARNING_FILTER += allow class="Declaration of Variable Length Array"
注:非正規化された AST を継続して使用した場合、使用ディスク容量が増加し解析時間が長くなる可能性があります。

void lang_struct_decl_vla(int i){
    if (i > 100){return;}
    int vla_arr[i];                    /* 'Declaration of Variable Length Array' warning issued here */
    int fix_arr[5];                                       /* fixed-length array */          
    /* ... */
}

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

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