MISRA C++:2023 Rule 19.2.2
The #include
directive shall be followed by either a
<filename>
or "filename"
sequence
Since R2024b
Description
Rule Definition
The #include
directive shall be followed by either a
<filename>
or "filename"
sequence. 1
Rationale
This rule applies only after macro replacement.
The code behavior is undefined if an #include
directive does not
use one of these forms:
#include <filename>
#include "filename"
ISO/IEC 14882:2003 does not permit using other forms of
#include
directives. To avoid unexpected behavior, avoid using
malformed #include
statements.
Polyspace Implementation
Polyspace® reports a violation of this rule if an #include
directive is not followed by either
<
or
filename
>"
, where
filename
"filename
is a valid header file or the path to a header
file.
Troubleshooting
If you expect a rule violation but Polyspace does not report it, see Diagnose Why Coding Standard Violations Do Not Appear as Expected.
Examples
Check Information
Group: Preprocessing Directives |
Category: Required |
Version History
Introduced in R2024b
1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.
The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:
MISRA C:2004
MISRA C:2012
MISRA C:2023
MISRA C++:2008
MISRA C++:2023
MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.