GNU 言語拡張機能の概要の表

GNU には、C および C++ 言語に対する多くの拡張機能があります。これらの拡張機能は、GNU モードの ARM コンパイラ(GNU C90 など)でもサポートされています。拡張機能の中には、非 GNU モード(C90)でサポートされているものもあります。この付録には、ARM コンパイラでサポートされている言拡張機能とそれらがサポートされるモードがリストされています。「起源」列には、言語機能が C90、C99、または C++ ISO 標準のいずれかの一部でるかどうかが示されています。機能が GCC 拡張機能を起源としている場合、「起源」列には GCC 固有が示されます。

Table 37. サポートされている GNU 拡張機能

GNU 拡張機能起源サポートされるモード
__alignof__GCC 固有。C90、C99、C++、GNU C90、GNU C99、GNU C++。
自動変数の集合イニシャライザ要素標準 C99、標準 C++。C99、C++、GNU C90、GNU C99、GNU C++。
代替キーワードGCC 固有。GNU C90、GNU C99、GNU C++。
asm キーワード標準 C++。C++、GNU C90、GNU C++。
アセンブララベル-C90、C99、C++、GNU C90、GNU C99、GNU C++。
case の範囲GCC 固有。GNU C90、GNU C99、GNU C++。
共用体のキャストGCC 固有。GNU C90、GNU C99。
文字エスケープシーケンスGCC 固有。GNU C90、GNU C99、GNU C++。
複合リテラル標準 C99。C99、GNU C90、GNU C99、GNU C++。
オペランドを省略した条件付きステートメントGCC 固有。GNU C90、GNU C99、GNU C++。
指定済みのイニシャライザ標準 C99。C99、GNU C90、GNU C99、GNU C++。
識別子内のドル記号GCC 固有。GNU C90、GNU C99、GNU C++。
拡張左辺値標準 C++。C++、GNU C90、GNU C99、GNU C++。[a]
関数属性-C90、C99、C++、GNU C90、GNU C99、GNU C++。
GNU 組み込み関数--
インライン関数標準 C99、標準 C++。C99、C++、GNU C90、GNU C99、GNU C++。
値としてのラベルGCC 固有。GNU C90、GNU C99、GNU C++。
void ポインタと関数ポインタに対するポインタ算術演算GCC 固有。GNU C90、GNU C99。
ステートメント式GCC 固有。GNU C90、GNU C99、GNU C++。
無名の組み込み構造体または共用体GCC 固有。GNU C90、GNU C99、GNU C++。
  __attribute__((aligned)) 変数属性GCC 固有。C90、C99、C++、GNU C90、GNU C99、GNU C++。
  __attribute__((deprecated)) 変数属性GCC 固有。C90、C99、C++、GNU C90、GNU C99、GNU C++。
  __attribute__((packed)) 変数属性GCC 固有。C90、C99、GNU C90、GNU C99、GNU C++。
  __attribute__((section("name"))) 変数属性GCC 固有。C99、GNU C90、GNU C99、GNU C++。
  __attribute__((transparent_union)) 変数属性GCC 固有。GNU C90、GNU C99。
  __attribute__((unused)) 変数属性GCC 固有。C90、C99、C++、GNU C90、GNU C99、GNU C++。
  __attribute__((used)) 変数属性GCC 固有。C90、C99、GNU C90、GNU C99。
  __attribute__((weak)) 変数属性GCC 固有。C90、C99、C++、GNU C90、GNU C99、GNU C++。
可変個引数マクロ標準 C99。C90、C99、C++、GNU C90、GNU C99、GNU C++ [b]
長さがゼロの配列GCC 固有。GNU C90、GNU C99。

[a] 特定の --gnu_version の値にのみ使用できます。

[b] --gnu が指定されている場合は(GNU モード)、GNU 固有の構文が適用されます。


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