-check_language_extension [Professional Edition only]


< Compile Options / Source Options >

[Format]

-check_language_extension

[Description]

-

This option enables complete checking against the MISRA-C: 2004 rules or MISRA-C: 2012 rules for parts of the code where they would otherwise be suppressed due to proprietary extensions from the C language specification.

-

With the default misra2004 option and misra2012 option, the compiler does not proceed with checking against the MISRA-C: 2004 rules and MISRA-C: 2012 rules under the condition given below. To enable complete checking, specify the check_language_extension option when specifying the misra2004 option or misra2012 option.

-

A function has no prototype declaration (MISRA-C:2004 rule 8.1, MISRA-C:2012 rule 8.4 ) and #pragma entry or #pragma interrupt is specified for it.

[Example]

#pragma interrupt vfunc
extern void service(void);
void vfunc(void)
{
    service();
}

-

A function vfunc, for which #pragma interrupt is specified, has no prototype declaration. The message on rule 8.1 is not displayed unless the check_language_extension option is specified.

[Remarks]

This option is ignored when the misra2004 or misra2012 option has not been specified.