MISRA C++:2008 Rule 16-2-6
The #include directive shall be followed by either a <filename> or "filename" sequence
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"
Using other forms of #include
directives is not permitted
by ISO/IEC 14882:2003. To avoid unexpected behavior, avoid using malformed
#include
statements.
Polyspace Implementation
Polyspace® raises a violation of this rule if an #include
directive is
not followed by either <filename>
or
"Filename"
.
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 R2013b
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.