リリース日: 2020年4月28日
このリリースには、以下の拡張が含まれます。
バージョン番号の刷新
C/C++test を含むすべての Parasoft 製品は次のバージョン番号付け規則に従います。YYYY.release
Visual Studio Code のサポート
Visual Studio Code IDE で C/C++test の静的解析機能を利用できるようになりました。C/C++test には Visual Studio Code 用の拡張が付属しています。これを使用して、静的コード解析を実行したり、IDE で直接結果を確認したり、不要な指摘事項を抑制したりできます。詳細については「Extension for Visual Studio Code」を参照してください。
C/C++test extension for Visual Studio Code は、Visual Studio Code Marketplace から入手できます。最新のアップデートについては https://marketplace.visualstudio.com/vscode を参照してください。
オートモーティブ コンプライアンス パックの拡張
Automotive Pack が拡張され、自動車規格への準拠に役立つようになりました。
MISRA C:2012 Amendment 2
MISRA C 2012 テスト コンフィギュレーションに新しいルールが追加され、MISRA C 2012 Amendment 2 ガイドラインを完全にカバーするようになりました。
AUTOSAR C++ 14
AUTOSAR C++14 Coding Guidelines テスト コンフィギュレーションに新しいルールが追加されるとともに既存のルールが更新され、AUTOSAR C++ 14 のサポートが拡大しました。
Docker コンテナーからの C/C++test の実行
Docker コンテナー イメージへの C/C++test のデプロイがサポートされるようになりました。Docker コンテナーから C/C++test を実行すると、コンテナー化された環境で C/C++test の機能を利用し、チームや複数の開発サイクルでの一貫性を確保することができます。「Docker コンテナーへの C/C++test のデプロイ」を参照してください。
CMake ベース プロジェクトの拡張
CMake ビルド時に自動生成される JSON ファイルを使用して CMake ベースのプロジェクトを解析し、入力スコープを構成できるようになりました。-Input
オプションに .json ファイルへのパスを指定できます。「CMake ベース プロジェクトの解析」を参照してください。
サポート対象コンパイラ
新たに以下のコンパイラがサポートされました。
コンパイラ名 | コンパイラ略称 |
---|---|
Vx-toolset for TriCore C/C++ Compiler 6.3 | vxtc_6_3 |
Wind River Clang 8.0.x | wrclang_8_0 |
ソース管理システムのサポート
以下のサポートが追加されました。
- Git 1.8、1.9、2.x
- SVN 1.10、1.11、1.12、1.13
- Microsoft Team Foundation Server 2017、2018、2019
非推奨のソース管理システムおよびサポートが廃止されたソース管理システムの情報は、「非推奨になった環境およびシステム」を参照してください。
追加または更新された解析ルール
このリリースでは、特に AUTOSAR C++14 および MISRA C:2012 Amendment 2 にフォーカスし、新しい静的解析ルールが追加され、コンプライアンス標準のカバー範囲が広がりました。追加または更新されたルールの一覧については「新規ルール」および「更新されたルール」を参照してください。
テスト コンフィギュレーションの更新
以下のテスト コンフィギュレーションが更新されました。
- AUTOSAR C++14 Coding Guidelines
- CWE Top 25 + On the Cusp 2019
- Flow Analysis Aggressive
- Flow Analysis Standard
- High Integrity C++
- MISRA C 2012
- MISRA C++ 2008
- SEI CERT C Guidelines
- SEI CERT C Rules
- SEI CERT C++ Rules
その他のアップデート
- セットアップの問題がレポートされたとき、ゼロ以外の終了コードを返すよう C/C++test を設定できます。「コマンドラインの終了コード」を参照してください。
OpenID Connect による認証のサポートが拡張されました。C/C++test は、複数のユーザーの証明書を含むキーストアをサポートします。
- DTP への接続設定でコンテキスト パスを指定できるようになりました。
- ビルトイン Python ランタイムが Python 2.7 にアップグレードされました。Rule Wizard ルールで発生した Python 関連のエラーはセットアップの問題としてレポートされるようになりました。
- 同じフローベースのルールの複製が複数有効化されているテスト コンフィギュレーションのパフォーマンスが改善されました。
- Windows 8 はサポートされなくなりました。
非推奨になった環境およびシステム
次の環境およびシステムのサポートは非推奨であり、将来のリリースで削除される予定です。
Windows 7
EOL に伴い、Windows 7 のサポートは非推奨になりました。
32-bit プラットフォーム
Windows 32-bit および Linux 32-bit は非推奨になりました。非推奨ポリシーの詳細については、Parasoft 製品担当者にお問い合わせください。
コンパイラ
次の コンパイラサポートは非推奨になりました。
- QNX GCC 4.2.x
- QNX GCC 4.4
ソース管理システム
次の SCM のサポートは非推奨になりました。
- AccuRev
- ClearCase
- CVS
- Serena Dimensions
- StarTeam
- Synergy CM
- Visual Source Safe
さらに、Microsoft Team Foundation Server 2010 のサポートは廃止されました。
Java 6
java 6 以下のサポートは非推奨になりました。結果として、Java 6 以下を必要とする環境のサポートは、今後のリリースで廃止されます。
解決済みのバグおよび FR
バグ/FR ID | 説明 |
---|---|
CPP-42109 | cpptestcli はセットアップの問題 (単体テストの開始失敗など) でゼロ以外の終了コードを返すべき |
CPP-43406 | VS テスト ケース有効化/無効化アクションでテスト ケース エクスプローラー ツリーがリフレッシュされない |
CPP-44060 | Error: expected ';' before '}' token for QCommandLineOption |
CPP-44561 | MISRA2004-19_10 (MISRAC2012-RULE_20_7-a) がマクロ定義での文字列連結に対して違反を誤検出する |
CPP-44565 | Crosstool-NG GCC (5.x) の自動検出改善 |
CPP-44578 | class "std::enable_if<>" に メンバー "type" がない |
CPP-44736 | MSVC /permissive- は friend クラスのインジェクションを無効化するべきではない |
CPP-44739 | MSVC /MP オプションの設定が誤っている |
CPP-44742 | 'return' を含まない 'default’ ステートメントが 'switch' の最後のラベルではない場合、MISRA2004-16_8 (MISRAC2012-RULE_17_4-a) が違反を誤検出する |
CPP-44744 | GNU __underlying_type 演算子が xharness によって誤って処理される |
CPP-44760 | ランタイムおよび cpptest_driver.c.h で malloc/free の使用が一貫していない |
CPP-44761 | ランタイムがユニコードでビルドされていると、CppTest ストリーム リダイレクト API が動作しない |
CPP-44796 | tiarm コンパイラ設定はリンカーに '--define' オプションを渡す必要がある |
CPP-44850 | armclang - -cc1 が指定されたコマンド ラインを無視する |
CPP-44862 | dsStrToFloat のすべてのバリアントが同じ結果を返すことを確認する |
CPP-44865 | 'CODSTA-190 (CERT_C-FLP37-c) は、'memcmp' および 'bcmp' 以外の名前を持つ文字列ライブラリの関数の呼び出しに対して違反を誤検出する |
CPP-44871 | FORMAT-07 が #error ディレクティブのメッセージで使用されている文字 '=' に対して違反を誤検出する |
CPP-44872 | FORMAT-21 が #error ディレクティブのメッセージで使用されている文字 '!' に対して違反を誤検出する |
CPP-44874 | CODSTA-112 (MISRAC2012-RULE_18_8-a) に有効ではなくなった「デメリット」セクションが含まれている |
CPP-44918 | AUTOSAR-A6_5_1-a (HICPP-6_2_1-a) がコンテナーを使用しないループに対して違反を誤検出する |
CPP-44923 | GLOBAL-UNUSEDFUNC (AUTOSAR-M0_1_10-a) が 'hash' 構造体で定義された変換 operator() に対して違反を誤検出する |
CPP-44946 | 引数として括弧による初期化子を持つコンストラクターの呼び出しのスタブ呼び出しのインストゥルメントが無効 |
CPP-45054 | CPPTEST_POST_CONDITION_MEM_BUFFER の自動検証が NULL ポインターに対して動作しない |
CPP-45067 | PB-23 が std::initializer_list() の呼び出しに対して違反を誤検出する |
CPP-45092 | HICPP-6_2_1-a (AUTOSAR-A6_5_1-a) が 'for-range' に置換できない 'for' ループに対して違反を誤検出する |
CPP-45190 | 修正: 修正: GCC は constexpr 関数パラメーターとして非リテラル型を許容する |
CPP-45193 | MISRA2004-16_10 (AUTOSAR-M0_3_2-a) が範囲ループに対して違反を誤検出する |
CPP-45227 | 二重の波括弧関数引数に対してコンパイルできないコードがインストゥルメントされる |
CPP-45228 | std::getline に対してコンパイルできないコードがインストゥルメントされる |
CPP-45239 | HICPP-6_2_1-a (AUTOSAR-A6_5_1-a) が 本体内でループカンターを使用する 'for' ループに対して違反を誤検出する |
CPP-45240 | ジェネリック ラムダを使用する C++ コードに対する cpptestcc インストゥルメント エラー |
CPP-45272 | VS 'cpptestcli -fail' がゼロ以外の終了コードを返さない |
CPP-45283 | パラメーターが const 型へのポインターを持てない場合に MISRA2004-16_7 (MISRA2008-7_1_2_a) が違反を誤検出する |
CPP-45312 | OPT-23 (JSF-122) が JSF-121 (2 ステートメント以上のゲッター/セッターをインライン化するべきではない) と矛盾する |
CPP-45320 | CERT_C-EXP46-a が CERT EXP46-C の要件を満たしていない |
CPP-45352 | メソッド定義で型のエイリアスを使用できない |
CPP-45375 | static_cast 演算で明示的な変換演算子が見かけ上無視される |
CPP-45498 | C のスタブ ファイルおよびCPP のテストランナー ファイルがリンクの問題を引き起こす可能性がある (Visual Studio) |
FA-7416 | MISRA2012-RULE-18_1_a および MISRA2012-DIR-4_1_a (BD-PB-ARRAY) の誤検出 |
FA-7445 | 文字配列が 0 および '\0' で終わっている場合に BD-PB-OVERFNZT がレポートされる |
FA-7473 | 算術演算子および条件演算子のコンテキストでグローバル変数のアドレスを使用している関数の CFG を作成できない |
FA-7539 | BD-PB-ARRAY が境界外の違反を誤検出する |
FA-7571 | ループの中で初期化されている場合に C++test が BD-PB-NOTINIT の違反を誤検出する |
FA-7619 | BD-PB-WRAPESC が再帰的呼び出しに対して違反を誤検出する可能性 |
FA-7626 | BD-API-VALPARAM が #include <complex> に対して違反を誤検出する |
XT-33567 | 抑制の理由に '//' を含む 'parasoft-suppress' コメント抑制の問題 |
XT-37692 | Java または IKVM によって、IDE が生成する Engine ライセンスが異なる場合がある |
新規ルール
ルール ID | 説明 |
---|---|
AUTOSAR-A12_8_2-a | ユーザー定義のコピー代入演算子およびムーブ代入演算子は、ユーザー定義の例外をスローしないスワップ関数を使用するべきである |
AUTOSAR-A14_5_3-a | 非 メンバー ジェネリック演算子は、クラス (構造体) 型、列挙型、共用体型の宣言を含まない名前空間にだけ宣言できる |
AUTOSAR-A8_4_4-a | 関数の複数の出力値は構造体またはタプルとして返すべきである |
AUTOSAR-A8_5_4-a | std::initializer_list でコンストラクターをオーバーロードしない |
AUTOSAR-M0_1_2-ac | 常に同じ値に評価される条件式を避ける |
BD-SECURITY-SENSLOG | ログ ファイルに書き込む関数に機密データを渡さない |
BD-SECURITY-TDALLOC | メモリ割り当サイズの決定に使用する前に、汚染されている可能性があるデータを検証する |
CODSTA-205 | 配列のサイズよりも大きな構造体を指すポインターに配列をキャストしてはならない |
CODSTA-206 | '_Noreturn' 関数指定子を使用するべきではない |
CODSTA-207 | <stdnoreturn.h> ヘッダー ファイルを使用するべきではない |
CODSTA-208 | <stdalign.h> ヘッダー ファイルを使用してはならない |
CODSTA-209 | <stdatomic.h> によって提供される機能を使用するべきではない |
CODSTA-210 | '_Thread_local' 記憶域クラス指定子を使用するべきではない |
CODSTA-211 | <threads.h> によって提供される機能を使用するべきではない |
CODSTA-212 | 'rsize_t' 型を使用するべきではない |
CODSTA-213 | '_Alignas' アライメント指定子および '_Alignof' 演算子を使用するべきではない |
CODSTA-214 | '_Atomic' 型指定子および '_Atomic' 型修飾子を使用するべきではない |
CODSTA-215 | '_STDC_WANT_LIB_EXT1_' マクロを '0' 以外の値に定義するべきではない |
CODSTA-216 | '_Generic' 演算子を使用するべきではない |
CODSTA-217 | 'errno_t' 型を使用するべきではない |
CODSTA-218 | 次のマクロを使用しない: RSIZE_MAX、L_tmpnam_s、TMP_MAX_S |
CODSTA-219 | Annex K of ISO/IEC 9899:2011 規格で定義された関数を使用してはならない |
CODSTA-MCPP-47 | std::initializer_list でコンストラクターをオーバーロードしない |
CODSTA-MCPP-48 | 関数の複数の出力値は構造体またはタプルとして返すべきである |
CODSTA-MCPP-49 | ユーザー定義のコピー代入演算子およびムーブ代入演算子は、ユーザー定義の例外をスローしないスワップ関数を使用するべきである |
CODSTA-MCPP-50 | コンテナーのすべての要素をループ処理し、ループ カウンターを使用しない for ループを使用してはならない |
CWE-532-a | ログ ファイルに書き込む関数に機密データを渡さない |
HICPP-12_5_6-a | ユーザー定義のコピー代入演算子およびムーブ代入演算子は、ユーザー定義の例外をスローしないスワップ関数を使用するべきである |
MISRA2008-0_1_2_aa | プロジェクトに実行できないパスが含まれていてはならない |
MISRA2012-DIR-4_1_k | 整数のオーバーフローを避ける |
MISRA2012-DIR-4_13_f | 獲得されていないロックを解放しない |
MISRA2012-RULE-1_4_a | '_Generic' 演算子を使用するべきではない |
MISRA2012-RULE-1_4_b | '_Noreturn' 関数指定子を使用するべきではない |
MISRA2012-RULE-1_4_c | <stdnoreturn.h> ヘッダー ファイルを使用するべきではない |
MISRA2012-RULE-1_4_d | '_Atomic' 型指定子および '_Atomic' 型修飾子を使用するべきではない |
MISRA2012-RULE-1_4_e | <stdatomic.h> によって提供される機能を使用するべきではない |
MISRA2012-RULE-1_4_f | '_Thread_local' 記憶域クラス指定子を使用するべきではない |
MISRA2012-RULE-1_4_g | <threads.h> によって提供される機能を使用するべきではない |
MISRA2012-RULE-1_4_h | '_Alignas' アライメント指定子および '_Alignof' 演算子を使用するべきではない |
MISRA2012-RULE-1_4_i | <stdalign.h> ヘッダー ファイルを使用してはならない |
MISRA2012-RULE-1_4_j | '_STDC_WANT_LIB_EXT1_' マクロを '0' 以外の値に定義するべきではない |
MISRA2012-RULE-1_4_k | 'rsize_t' 型を使用するべきではない |
MISRA2012-RULE-1_4_l | 'errno_t' 型を使用するべきではない |
MISRA2012-RULE-1_4_m | 次のマクロを使用しない: RSIZE_MAX、L_tmpnam_s、TMP_MAX_S |
MISRA2012-RULE-1_4_n | Annex K of ISO/IEC 9899:2011 規格で定義された関数を使用してはならない |
MISRA2012-RULE-21_21 | <stdlib.h> のライブラリ関数 'system' を使用してはならない |
MISRA2012-RULE-8_3_c | 1 つのオブジェクトまたは関数のすべての宣言は互換性のある型を持たなければならない |
MISRAC2012-DIR_4_13-f | 獲得されていないロックを解放しない |
MISRAC2012-DIR_4_1-k | 整数のオーバーフローを避ける |
MISRAC2012-RULE_1_4-a | '_Generic' 演算子を使用するべきではない |
MISRAC2012-RULE_1_4-b | '_Noreturn' 関数指定子を使用するべきではない |
MISRAC2012-RULE_1_4-c | <stdnoreturn.h> ヘッダー ファイルを使用するべきではない |
MISRAC2012-RULE_1_4-d | '_Atomic' 型指定子および '_Atomic' 型修飾子を使用するべきではない |
MISRAC2012-RULE_1_4-e | <stdatomic.h> によって提供される機能を使用するべきではない |
MISRAC2012-RULE_1_4-f | '_Thread_local' 記憶域クラス指定子を使用するべきではない |
MISRAC2012-RULE_1_4-g | <threads.h> によって提供される機能を使用するべきではない |
MISRAC2012-RULE_1_4-h | '_Alignas' アライメント指定子および '_Alignof' 演算子を使用するべきではない |
MISRAC2012-RULE_1_4-i | <stdalign.h> ヘッダー ファイルを使用してはならない |
MISRAC2012-RULE_1_4-j | '_STDC_WANT_LIB_EXT1_' マクロを '0' 以外の値に定義するべきではない |
MISRAC2012-RULE_1_4-k | 'rsize_t' 型を使用するべきではない |
MISRAC2012-RULE_1_4-l | 'errno_t' 型を使用するべきではない |
MISRAC2012-RULE_1_4-m | 次のマクロを使用しない: RSIZE_MAX、L_tmpnam_s、TMP_MAX_S |
MISRAC2012-RULE_1_4-n | Annex K of ISO/IEC 9899:2011 規格で定義された関数を使用してはならない |
MISRAC2012-RULE_21_21-a | stdlib.h または cstdlib ライブラリの system() 関数を使用しない |
MISRAC2012-RULE_8_3-c | 1 つのオブジェクトまたは関数のすべての宣言は互換性のある型を持たなければならない |
TEMPL-18 | 非 メンバー ジェネリック演算子は、クラス (構造体) 型、列挙型、共用体型の宣言を含まない名前空間にだけ宣言できる |
更新されたルール
ルール カテゴリ | ルール ID |
---|---|
AUTOSAR C++14 Coding Guidelines | AUTOSAR-A15_0_2-a, AUTOSAR-A15_1_4-a, AUTOSAR-A15_5_1-b, AUTOSAR-A18_5_2-a, AUTOSAR-A18_5_3-c, AUTOSAR-A27_0_2-b, AUTOSAR-A27_0_2-c, AUTOSAR-A2_13_4-a, AUTOSAR-A3_1_6-a, AUTOSAR-A5_0_1-f, AUTOSAR-A5_2_5-a, AUTOSAR-A5_2_5-c, AUTOSAR-A5_3_2-a, AUTOSAR-A6_5_1-a, AUTOSAR-A8_4_12-c, AUTOSAR-A8_4_13-b, AUTOSAR-A8_4_2-a, AUTOSAR-M0_3_1-b, AUTOSAR-M0_3_1-d, AUTOSAR-M0_3_1-f, AUTOSAR-M0_3_1-i, AUTOSAR-M0_3_2-a, AUTOSAR-M16_0_6-a, AUTOSAR-M16_0_8-a, AUTOSAR-M5_0_16-a, AUTOSAR-M5_0_16-b, AUTOSAR-M7_1_2-b, AUTOSAR-M9_3_3-a |
Bug Detective | BD-API-NEGPARAM, BD-API-REVNEGPARAM, BD-PB-ARRAY, BD-PB-CHECKRETGEN, BD-PB-NP, BD-PB-OVERFRD, BD-PB-OVERFWR, BD-PB-PTRARR, BD-RES-BADDEALLOC, BD-RES-LEAKS |
SEI CERT C | CERT_C-API01-a, CERT_C-ARR30-a, CERT_C-ARR38-a, CERT_C-ARR38-b, CERT_C-ARR39-a, CERT_C-CON30-a, CERT_C-CON40-a, CERT_C-CON43-a, CERT_C-DCL13-a, CERT_C-DCL40-a, CERT_C-ENV01-c, CERT_C-ENV30-a, CERT_C-ERR33-c, CERT_C-ERR33-d, CERT_C-EXP08-b, CERT_C-EXP10-b, CERT_C-EXP30-b, CERT_C-EXP34-a, CERT_C-EXP47-a, CERT_C-FIO22-a, CERT_C-FIO37-a, CERT_C-FIO38-a, CERT_C-FIO41-b, CERT_C-FIO42-a, CERT_C-FLP37-c, CERT_C-INT10-a, CERT_C-MEM00-e, CERT_C-MEM12-a, CERT_C-MEM31-a, CERT_C-MSC19-a, CERT_C-MSC19-b, CERT_C-MSC37-a, CERT_C-POS54-c, CERT_C-PRE01-a, CERT_C-STR05-a, CERT_C-STR30-a, CERT_C-STR31-a, CERT_C-STR31-b, CERT_C-STR38-a, CERT_C-WIN30-a |
SEI CERT C++ | CERT_CPP-ERR56-a, CERT_CPP-ERR57-a, CERT_CPP-EXP50-b, CERT_CPP-FIO51-a, CERT_CPP-MEM51-d, CERT_CPP-MSC52-a, CERT_CPP-STR50-c, CERT_CPP-STR50-g, CERT_CPP-STR51-a |
コーディング規約 | CODSTA-166_a, CODSTA-166_b, CODSTA-185_a, CODSTA-188, CODSTA-190, CODSTA-195, CODSTA-CPP-54, CODSTA-CPP-78 |
Modern C++ コーディング規約 | CODSTA-MCPP-10_a, CODSTA-MCPP-35 |
Common Weakness Enumeration | CWE-119-a, CWE-119-d, CWE-119-e, CWE-125-a, CWE-125-c, CWE-476-a, CWE-770-a, CWE-772-a, CWE-787-a, CWE-787-d |
例外 | EXCEPT-21 |
High Integrity C++ | HICPP-12_5_4-a, HICPP-5_1_2-b, HICPP-5_2_1-a, HICPP-5_2_1-c, HICPP-5_3_3-c, HICPP-6_3_2-a, HICPP-9_1_1-a |
Joint Strike Fighter | JSF-069, JSF-114, JSF-115, JSF-117_b, JSF-118, JSF-122, JSF-151.1, JSF-174_a, JSF-174_b, JSF-204.1_b, JSF-206 |
MISRA C 1998 | MISRA-107_a, MISRA-107_b |
MISRA C 2004 | MISRA2004-12_2_b, MISRA2004-16_10, MISRA2004-16_7, MISRA2004-16_8, MISRA2004-19_10, MISRA2004-19_16, MISRA2004-20_4 |
MISRA C++ 2008 | MISRA2008-0_3_1_a, MISRA2008-0_3_1_b, MISRA2008-0_3_1_g, MISRA2008-0_3_1_h, MISRA2008-0_3_2, MISRA2008-16_0_6, MISRA2008-16_0_8, MISRA2008-18_4_1, MISRA2008-5_0_16_a, MISRA2008-5_0_16_b, MISRA2008-5_0_1_b, MISRA2008-7_1_2_a, MISRA2008-8_4_3, MISRA2008-9_3_3 |
MISRA C 2012 (Legacy) | MISRA2012-DIR-4_12, MISRA2012-DIR-4_13_a, MISRA2012-DIR-4_1_a, MISRA2012-DIR-4_1_b, MISRA2012-DIR-4_1_g, MISRA2012-DIR-4_1_h, MISRA2012-DIR-4_7_b, MISRA2012-RULE-13_2_b, MISRA2012-RULE-17_4, MISRA2012-RULE-18_1_a, MISRA2012-RULE-18_1_c, MISRA2012-RULE-1_3_d, MISRA2012-RULE-1_3_e, MISRA2012-RULE-1_3_g, MISRA2012-RULE-20_13, MISRA2012-RULE-20_7, MISRA2012-RULE-21_17_b, MISRA2012-RULE-21_19_a, MISRA2012-RULE-21_3, MISRA2012-RULE-21_8_c, MISRA2012-RULE-22_1, MISRA2012-RULE-22_5_a, MISRA2012-RULE-22_5_b, MISRA2012-RULE-7_4, MISRA2012-RULE-8_13_a |
MISRA C 2012 | MISRAC2012-DIR_4_1-a, MISRAC2012-DIR_4_1-b, MISRAC2012-DIR_4_1-g, MISRAC2012-DIR_4_1-h, MISRAC2012-DIR_4_12-a, MISRAC2012-DIR_4_13-a, MISRAC2012-DIR_4_7-b, MISRAC2012-RULE_13_2-b, MISRAC2012-RULE_17_4-a, MISRAC2012-RULE_18_1-a, MISRAC2012-RULE_18_1-c, MISRAC2012-RULE_1_3-d, MISRAC2012-RULE_1_3-e, MISRAC2012-RULE_1_3-g, MISRAC2012-RULE_20_13-a, MISRAC2012-RULE_20_7-a, MISRAC2012-RULE_21_17-b, MISRAC2012-RULE_21_19-a, MISRAC2012-RULE_21_3-a, MISRAC2012-RULE_21_8-c, MISRAC2012-RULE_22_1-a, MISRAC2012-RULE_22_5-a, MISRAC2012-RULE_22_5-b, MISRAC2012-RULE_7_4-a, MISRAC2012-RULE_8_13-a |
最適化 | OPT-23 |
バグの可能性 | PB-23, PB-27, PB-67, PB-72 |
削除されたルール
結果の正確さを向上させるため、以下のルールは削除されました。
ルール カテゴリ | ルール ID |
---|---|
AUTOSAR C++14 Coding Guidelines | AUTOSAR-A27_0_2-d, AUTOSAR-A27_0_2-g |
SEI CERT C | CERT_C-EXP46-a, CERT_C-MSC32-a, CERT_C-MSC32-b, CERT_C-MSC32-c, CERT_C-STR34-a, CERT_C-STR34-e, CERT_C-STR34-f |
SEI CERT C++ | CERT_CPP-STR50-a, CERT_CPP-STR50-d |
MISRA C 2012 (Legacy) | MISRA2012-RULE-21_8_d |
MISRA C 2012 | MISRAC2012-RULE_21_8-d |