C and C++


LANG.PREPROC.INCL.MF : 正しく記述されていない#include

要旨

The #include or #include_next preprocessor directive is not followed by a string of the form <filename> or "filename".

正しく記述されていない前処理指令が多い場合、ネイティブコンパイラやCodeSonarのパーサーがパースエラーを引き起こすことに注意してください。 パースエラーによりこのワーニングが検出されない場合があるため、パースエラーを修正することが正しくない記述の修正にも繋がります。

This warning class is a strict subset of Inappropriate Include File Specification.

プロパティ

クラス名 Malformed #include
日本語クラス名 正しく記述されていない#include
クラス分類 スタイル (style)
ニーモニック LANG.PREPROC.INCL.MF
カテゴリー
MisraC2023 MisraC2023:20.3 The #include directive shall be followed by either a <filename> or "filename" sequence
Misra2012 Misra2012:20.3 The #include directive shall be followed by either a <filename> or "filename" sequence
Misra2004 Misra2004:19.3 The #include directive shall be followed by either a <filename> or "filename" sequence
MisraC++2008 MisraC++2008:16-2-6 The #include directive shall be followed by either a <filename> or "filename" sequence.
MisraC++2023 MisraC++2023:19.2.2 The #include directive shall be followed by either a <filename> or "filename" sequence
JSF++ JSF++:33 The #include directive shall use the <filename.h> notation to include header files.
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Malformed #include"

Many compilers will fail with an error if they encounter a malformed #include directive. If you are using such a compiler you will generally detect and resolve bugs of this class at compilation time, before the CodeSonar analysis runs.

#include "stdio.h"                       /* has form "filename" */

/* Attempting to compile with a malformed #include will cause an error
 * in many compilers, so we preprocess this line out to ensure the
 * example can be compiled. CodeSonar will still issue a warning.
 */
#if 0
#include otherheader.h /* 'Malformed #include' issued here */
#endif

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

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