[previous] MISRA C:2012  Rule-20.3:  (Required) [next] The #include directive shall be followed by either a <filename> or "filename" sequence

Amplification:

This rule applies after macro replacement has been performed.

Example Code:


#define A "misra.h"
#define B "m3cmex.h"

#include A                                      /* OK */
#include B                                      /* OK */
#include "misra.h"                              /* OK */

#if 0
/* QAC will generate Hard Errors (Level 9)
   if this code block is not excluded      */

#include misra.h                                /* MISRA Violation */
#endif


extern int16_t rule_2003( void )
{
   return 1;
}


QAC messages that encompass this guideline:

0809 [U] The '#include' preprocessing directive has not been followed by <h-char-sequence> or "s-char-sequence".


Related rules:

Rule-1.3 There shall be no occurrence of undefined or critical unspecified behaviour



(c) The Motor Industry Research Association, 2012
QA C Source Code Analyser 8.1.2
MISRA C:2012 Compliance Module 1.0
© 2013 Programming Research
www.programmingresearch.com
Personality Groups | Glossary | Message Index | MISRA C:2012 Rule Index Contents