MISRA C:2012 Rule 20.3

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.

Rationale

This rule applies only after macro replacement.

The behavior is undefined if an #include directive does not use one of the following forms:

  • #include <filename>

  • #include "filename"

Additional Message in Report

  • ‘#include' expects "FILENAME" or <FILENAME>

  • ‘#include_next' expects "FILENAME" or <FILENAME>

  • ‘#include' does not expect string concatenation.

  • ‘#include_next' does not expect string concatenation.

Troubleshooting

If you expect a rule violation but do not see it, refer to the documentation of Polyspace® Code Prover™ or Polyspace Code Prover Server™.

Check Information

Group: Preprocessing Directives
Category: Required
AGC Category: Required