ホーム/ドキュメント/コーディング規約/MISRA C++ コンプライアンスに対する CppDepend のサポートを理解する

MISRA C++ コンプライアンスに対する CppDepend のサポートを理解する

MISRA C++ コンプライアンスに対する CppDepend のサポートを理解する

今日の急速に進化する自動車業界において、信頼性が高く安全なソフトウェアの重要性はいくら強調してもしすぎることはありません。Motor Industry Software Reliability Association(MISRA)は、道路車両やその他の組み込みシステムにおける安全関連電子システムを開発するためのベストプラクティスを確立する上で重要な役割を果たしています。自動車メーカー、部品サプライヤー、エンジニアリングコンサルタンシー間の共同の取り組みとして、MISRA はソフトウェアの信頼性における最高水準の確保を目指しています。

MISRA C++ コンプライアンスを達成するための重要なツールの 1 つが CppDepend で、開発者がこれらの厳格なガイドラインを遵守するのを支援します。この包括的なガイドでは、自動車業界における MISRA の重要な役割と、CppDepend が車両や組み込みシステム向けのより安全で信頼性の高いソフトウェアの作成をどのように支援できるかを探ります。

MISRA C++ 標準について学ぶには、公式ドキュメントを印刷できます MISRA C++ 2008標準ドキュメント.

CppDependでのMISRAルールの使用

新しい CppDepend プロジェクトを作成すると、分析に含めたいすべてのコーディング標準を表示するポップアップが表示されます。MISRA C++ コーディング標準を含めるには、MISRA オプションをチェックして MISRA C++ を選択します。

MISRA C++プロジェクト設定

プロジェクトを分析した後、Queries and Rules Explorer セクションに移動し、左側のメニューから Misra Rules を選択します(下の画像で赤く強調表示)。これにより、関連するすべての Misra ルールが右側に表示されます。ルールをクリックすると、対応する CQLinq クエリと関連するソースコードが自動的に生成されます。さらに、Metrics View セクションでは、問題の場所と重要性のビジュアライゼーションが提供されます。

MISRA C++ルールエクスプローラー

MISRAルールをHTMLレポートに組み込む

生成された HTML レポート(DevOps Edition で利用可能)に Misra ルールを含めるには、Misra グループを右クリックして「List Code Queries of this Group in a dedicated section in Report」を選択するだけです。

MISRA C++ HTMLレポート

MISRA C++ルール一覧

CppDepend は 103 の MISRA C++ 標準クエリをサポートします。

各ルールとその機能をより深く理解するには、公式ドキュメントを参照してください MISRA C++ 2008標準ドキュメント.

不要な構文

Rule 0–1–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_unreachable" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 0–1–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="CppCheck" && issue.Type=="knownConditionTrueFalse" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 0–1–3

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_unused_variable" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 0–1–4

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="CppCheck" && issue.Type=="unreadVariable" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 0–1–5

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_unused_local_typedef" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 0-1-7

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Misra" && issue.Type=="Rule0-1-7" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 0-1-9

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_unreachable" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 0–1–11

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues**
where issue.ToolName=="Clang" && issue.Type=="warn_unused_parameter"
&& issue.RelatedMethod!=null && issue.RelatedMethod.IsVirtual
select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 0-1-12

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues**
where issue.ToolName=="Clang" && issue.Type=="warn_unused_parameter"
&& issue.RelatedMethod!=null && !issue.RelatedMethod.IsVirtual
select  new { issue,issue.FilePath,Line=issue.BeginLine}

ストレージ

Rule 0–2–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang-Tidy" && issue.Type=="cppcoreguidelines-pro-type-union-access" select
new { issue,issue.FilePath,Line=issue.BeginLine}

字句規則

Rule 2–3–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="trigraph_ignored" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 2-5-1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_cxx98_compat_less_colon_colon" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 2–7–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_nested_block_comment" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 2–10–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_decl_shadow" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 2-10-6

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="err_redefinition_different_kind" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 2–13–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="ext_unknown_escape" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 2–13–3

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where  issue.Type=="Rule2-13-3" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 2–13–4

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where  issue.Type=="Rule2-13-4" select
new { issue,issue.FilePath,Line=issue.BeginLine}

基本概念

Rule 3–1–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from m in **JustMyCode**.Methods where m.NbLinesOfCode>**0**
&& m.SourceDecls.First().SourceFile.FileNameExtension.StartsWith("h")
select new { m,IncludeFile=m.SourceDecls.First().SourceFile.FilePathString }

Rule 3–1–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule3-1-2"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 3–1–3

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule3-1-3"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 3–3–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule3-3-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 3–3–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule3-3-2"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 3–4–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="CppCheck" && issue.Type=="variableScope"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 3–9–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule3-9-2"
select new { issue,issue.FilePath,Line=issue.BeginLine}

標準変換

Rule 4–5–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule4-5-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 4–5–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule4-5-2"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 4–5–3

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule4-5-3"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 4–10–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule4-10-2"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 5–0–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_unsequence_mod_use" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 5–0–4

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_impcast_integer_sign" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 5–0–5

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_impcast_float_integer" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 5–0–6

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_impcast_integer_precision" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 5-0-7

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang-Tidy" && issue.Type=="bugprone-integer-division" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 5–0–9

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_impcast_integer_sign" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 5–0–15

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang-Tidy" && issue.Type=="cppcoreguidelines-pro-bounds-pointer-arithmetic" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 5–0–18

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="CppCheck" && issue.Type=="comparePointers" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 5–2–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="err_static_downcast_via_virtual" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 5–2–4

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_old_style_cast" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 5–2–6

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_cxx98_compat_cast_fn_obj" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 5–3–3

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName== "operator&"
select m

Rule 5–3–4

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_side_effects_unevaluated_context_sizeof" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 5–8–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule5-8-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 5–14–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule5-14-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 5–18–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule5-18-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 5-2-11

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName== "operator&"
select m

ステートメント

Rule 6–2–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-2-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 6–2–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_floatingpoint_eq" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 6–2–3

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-2-3"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 6–3–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-3-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 6–4–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-4-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 6–4–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-4-2"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 6-4-3

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where  issue.Type=="warn_jump_out_of_scope" || issue.Type=="Rule6-6-2" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 6–4–4

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-4-4"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 6–4–5

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_unannotated_fallthrough" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 6–4–6

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-4-6"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 6–4–7

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_bool_switch_condition" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 6–4–8

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule6-4-8"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 6–6–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_jump_out_of_scope" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 6–6–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where  issue.Type=="Rule6-6-2" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 6–6–5

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where  issue.Type=="Rule6-6-5" select
new { issue,issue.FilePath,Line=issue.BeginLine}

宣言

Rule 7-2-1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName=="main" && m.ParentNamespace.Name!=""
select m

Rule 7-3-1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName=="main" && m.ParentNamespace.Name!=""
select m

Rule 7–3–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName=="main" && m.ParentNamespace.Name!=""
select m

Rule 7–3–3

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule7-3-3"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 7–3–4

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule7-3-4"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 7–4–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName=="main" && m.ParentNamespace.Name!=""
select m

Rule 7–5–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="CppCheck" && issue.Type=="returnAddressOfAutoVariable" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 7–5–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="CppCheck" && issue.Type=="deadpointer" select
new { issue,issue.FilePath,Line=issue.BeginLine}

宣言子

Rule 8–4–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from m in **JustMyCode**.Methods where m.IsVariadic
select m

Rule 8–4–3

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_maybe_falloff_nonvoid_function" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 8–4–4

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_duplicate_enum_values" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 8–5–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_uninit_var" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 8–5–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_missing_braces" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 8–5–3

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_duplicate_enum_values" select
new { issue,issue.FilePath,Line=issue.BeginLine}

クラス

Rule 9–5–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule9-5-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 10–1–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule10-1-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 10–3–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule10-3-2"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 11–0–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from f in **JustMyCode**.Fields where !f.ParentType.IsPOD && f.IsPublic
select f

Rule 12–1–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from m in **JustMyCode**.Methods where
&& (m.MethodsCalled.Where(vm=>vm.IsVirtual).Count()>**0** || m.IsUsing("Keywords.dynamic_cast".AllowNoMatch()))
select m

Rule 12–1–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from m in **JustMyCode**.Methods where m.IsConstructor && m.Params.Count()==**1** && m.Params.First().ParamType!=null
&& m.Params.First().ParamType.Name=="int" && !m.IsExplicitConstructor
select m

Rule 12–8–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from m in **JustMyCode**.Methods where m.SimpleName== "operator=="
&& m.ParentType.IsAbstract && m.IsPublic
select m

例外

Rule 15–0–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule15-0-2"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 15–3–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from m in **JustMyCode**.Methods where m.IsEntryPoint
&& m.IsUsing("Keywords.generic_catch".AllowNoMatch()) select m

Rule 15–3–5

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="catchExceptionByValue"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 15–3–7

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_exception_caught_by_earlier_handler" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 15–5–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="exceptThrowInDestructor"
select new { issue,issue.FilePath,Line=issue.BeginLine}

プリプロセッサ

Rule 16–0–3

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_undef_used" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 16–0–7

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_pp_undef_identifier" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 16–3–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_pp_hashhash_used" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 16–3–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_pp_hash_used" select
new { issue,issue.FilePath,Line=issue.BeginLine}

ライブラリ

Rule 17–0–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.ToolName=="Clang" && issue.Type=="warn_reserved_id_macro" select
new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 17–0–5

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule17-0-5"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 18–0–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-0-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 18–0–2

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-0-2"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 18–0–3

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-0-3"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 18–0–4

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-0-4"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 18–0–5

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-0-5"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 18–2–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-2-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 18–4–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-4-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 18–7–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-7-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 19–3–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule19-3-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}

Rule 27–0–1

このコーディング標準は次のクエリで計算されます:

warnif **count** > **0**
from issue in **ImportedIssues** where issue.Type=="Rule18-4-1"
select new { issue,issue.FilePath,Line=issue.BeginLine}

今すぐCppDependを試す

ドキュメントの全機能にアクセスできる14日間無料トライアル。クレジットカード不要。