言語標準の準拠

コンパイラには、ソース言語への準拠の程度に対応したいくつかのモードがあります。

厳密モード

厳密モードでは、ソース言語に対応する言語標準への準拠が強く要求されます。例えば、// 形式のコメントを厳密モードの C90 でコンパイルするエラーになります。

厳密モードでコンパイルするには、コマンドラインオプション --strict を使用して下さい。

GNU モード

GNU モードでは、ソース言語の GNU コンパイラ拡張機能がすべて使用可能になります。GNU モードの例を以下に示します。

  • ソース言語が C90、C99、非厳密 C++ のいずれかの場合、switch ステートメントの case で範囲指定が可能になります。

  • ソース言語が C90 または非厳密 C++ の場合、C99 形式の指定済みのイニシャライザが使用できます。

GNU モードでコンパイルする場合は、コンパイラの --gnu オプションを使用して下さい。

Note

非厳密モードで使用可能な GNU 拡張機能は他にもあります。

Show/hide

以下の例では、ソース言語モードと言語準拠モードの組み合わせを示します。

  • 拡張子が .cpp のファイルをコマンドラインオプション --strict を使用してコンパイルすると、標準 C++ のコンパイルになります。

  • C のソースファイルをコマンドラインオプション --gnu でコンパイルすると、GNU モードの C90 コンパイルになります。

  • 拡張子が .c のファイルをコマンドラインオプション --strict--gnu を両方指定してコンパイルするとエラーになります。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0491EJ
Non-ConfidentialID081711