以下のマクロは、使用可能な C99 機能、GNU C または C++ に関連した機能、および他の IBM 言語拡張機能についてテストすることができます。 リストされた機能が指定されたコンパイラー・オプションの下でサポートされている場合、マクロは 1 の値に定義されています。機能がサポートされていない場合、そのマクロは未定義です。事前定義のマクロはすべて保護されています。
事前定義マクロ名 | 説明 | コンパイラー・オプション: |
---|---|---|
__ALTIVEC__ | ベクトル・データ型に対するサポート | -qaltivec |
__C99_BOOL | _Bool データ型に対するサポート |
![]() |
__C99_COMPLEX | 複素数データ型に対するサポート |
![]() |
__C99_COMPLEX_HEADERS__ | C99 スタイル複素数ヘッダーに対するサポート |
![]() |
__C99_CPLUSCMT | C++ スタイル・コメントに対するサポート |
-qlanglvl=stdc99|extc99 -qcpluscmt |
__C99_COMPOUND_LITERAL | 複合リテラルに対するサポート |
![]() |
__C99_DESIGNATED_INITIALIZER | 指定された初期化に対するサポート |
![]() |
__C99_DUP_TYPE_QUALIFIER | 重複する型修飾子に対するサポート |
![]() |
__C99_EMPTY_MACRO_ARGUMENTS | 空のマクロ引数に対するサポート |
![]()
|
__C99_FLEXIBLE_ARRAY_MEMBER | フレキシブル配列メンバーに対するサポート |
![]() |
__C99__FUNC__ | __func__ キーワードに対するサポート |
|
__C99_HEX_FLOAT_CONST | 16 進浮動小数点定数に対するサポート |
![]()
|
__C99_INLINE | inline 関数指定子に対するサポート |
![]() -qkeyword=inline |
__C99_LLONG | long long データ型に対するサポート |
![]() |
__C99_MACRO_WITH_VA_ARGS | 変数引数を持つ関数のようなマクロに対するサポート |
|
__C99_MAX_LINE_NUMBER | #line ディレクティブに対する新規制限 |
![]() |
__C99_MIXED_DECL_AND_CODE | 混合宣言およびコードに対するサポート |
![]() |
__C99_MIXED_STRING_CONCAT | 幅の広いストリング・リテラルと幅の広くないストリング・リテラルの連結に対するサポート |
![]() |
__C99_NON_LVALUE_ARRAY_SUB | 配列の非 lvalue 添え字に対するサポート |
![]() |
__C99_NON_CONST_AGGR_INITIALIZER | 非定数集合体初期化指定子に対するサポート |
![]() |
__C99_PRAGMA_OPERATOR | _Pragma 演算子に対するサポート |
|
__C99_REQUIRE_FUNC_DECL | サポートされない暗黙の関数宣言 |
![]() |
__C99_RESTRICT | restrict 修飾子に対するサポート |
|
__C99_STATIC_ARRAY_SIZE | 関数に対する配列パラメーターの static キーワードに対するサポート |
![]() |
__C99_STD_PRAGMAS | 標準プラグマに対するサポート |
![]() |
__C99_TGMATH | tgmath.h の型汎用マクロに対するサポート |
![]() |
__C99_UCN | 汎用文字名に対するサポート |
![]()
|
__C99_VAR_LEN_ARRAY | 可変長配列に対するサポート |
![]() |
__C99_VARIABLE_LENGTH_ARRAY |
|
|
__IBM__ALIGNOF__ | __alignof__ 演算子に対するサポート |
|
__IBM_ALTERNATE_KEYWORDS | 代替キーワードに対するサポート |
![]() |
__IBM_ATTRIBUTES | 型、変数、および関数属性に対するサポート |
|
__IBM_COMPUTED_GOTO | 計算された goto 文に対するサポート |
|
__IBM_EXTENSION_KEYWORD | __extension__ キーワードに対するサポート |
|
__IBM_GCC_ASM | GNU C インライン asm 文に対するサポート |
|
__IBM_GCC__INLINE__ | GNU C __inline__ 指定子に対するサポート |
|
__IBM_DOLLAR_IN_ID | ID のドル記号に対するサポート |
|
__IBM_GENERALIZED_LVALUE | 汎用の左辺値に対するサポート |
|
__IBM_INCLUDE_NEXT | #include_next プリプロセス・ディレクティブに対するサポート |
|
__IBM_LABEL_VALUE | 値としてのラベルに対するサポート |
|
__IBM_LOCAL_LABEL | ローカル・ラベルに対するサポート |
|
__IBM_MACRO_WITH_VA_ARGS | variadic マクロ拡張機能に対するサポート |
|
_IBM_NESTED_FUNCTION | ネストされた関数に対するサポート |
|
__IBM_PP_PREDICATE | #assert、#unassert、#cpu、#machine、および #system プリプロセス・ディレクティブに対するサポート |
|
__IBM_PP_WARNING | #warning プリプロセス・ディレクティブに対するサポート |
|
__IBM_REGISTER_VARS | 指定されたレジスターの変数に対するサポート |
|
__IBM_STDCPP_ASM | asm 文に対するサポート。アセンブラー・コードが生成される場合、マクロは 1 の値を持ちます。そうでない場合は 0 になります。 |
|
__IBM__TYPEOF__ | __typeof__ キーワードに対するサポート |
|
__IBM_UTF_LITERAL | UTF-16 および UTF-32 ストリング・リテラルに対するサポート | -qutf |