MISRA Discussion Forums

Full Version: Essential Type of preprocessing statement
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Does the essential type system intended to apply to preprocessing expressions?
For example:

Code:
void foo (void)
{
   (0 == 1) + 1;        /* non-compliant with Rule 10.1 */
}

#if (0 == 1) + 1     /* compliant or non-compliant with Rule 10.1 ? */

#endif
The MISRA guidelines define "code" in the Glossary as
Quote:"Code consists of everything within a translation unit that is not excluded by conditional compilation.
. Therefore, the guidelines apply to code after preprocessing directives have been executed, unless otherwise stated in a guideline.

Therefore "#if (0 == 1) + 1 " is not a violation of rule 10.1