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.