Everything
 

-check_language_extension 【Professional版のみ】


コンパイル・オプション / ソースオプション

[指定形式]

-check_language_extension

[詳細説明]

-

C言語規格から独自に拡張した言語仕様が有効な場合に一部抑止される、MISRA2004またはMISRA2012ルールチェックを有効にします。

-

本コンパイラでは、misra2004及びmisra2012ともにデフォルトで次のチェックが抑止されます。チェックしたい場合は、misra2004またはmisra2012オプション指定時に、check_language_extensionオプションを指定してください。

-

プロトタイプ宣言がない場合(MISRA-C:2004 ルール8.1、MISRA-C:2012 ルール8.4)で、該当関数に #pragma entry または #pragma interrupt のいずれかの指定があるとき。

[例]

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

-

関数vfuncにはプロトタイプ宣言がありませんが、#pragma interruptの対象なので-check_language_extensionの指定がないと、ルール8.1のチェックメッセージが表示されません。

[備考]

-

misra2004またはmisra2012オプションの指定がない場合は、本オプションを無視します。