Oracle® Developer Studio 12.5: C ユーザーズガイド

印刷ビューの終了

更新: 2016 年 7 月
 
 

9.2 サポートされている C11 の機能

  • _Alignas 指定子

  • _Alignof 演算子

  • _Atomic 修飾子

  • _Atomic 型指定子

  • _Noreturn

  • _Static_assert

  • _Thread_local 記憶指定子

  • typedef 再定義の許可

  • 無名構造体/共用体

  • 総称選択

  • Unicode 文字および文字列

  • UCN 文字セットの更新の許可

  • __STDC_ANALYZABLE__ マクロ

  • __STDC_NO_THREADS__ マクロ

C.2.1 _Alignas 指定子

機能: 6.7.5 整列指定子

_Alignas ( type-name )
_Alignas ( constant-expression )
  

_Alignas 指定子は、typedef の宣言、ビットフィールド、関数、パラメータ、または register 記憶クラス指定子で宣言されたオブジェクトでは使用できません。

定数式は整数定数式に評価されます。定数式は、1 から 128 までの間の 2 のべき乗である整数定数式に評価される必要があります。有効な値は、0、1、2、4、8、16、32、64、および 128 です。この値は、宣言対象のオブジェクトまたはメンバーの型に必要なアライメントと同等かそれ以上に厳密なアライメントに評価される必要があります。

_Alignas ( type-name) は _Alignas (_Alignof (type-name)) と同義です。

アライメント指定子 0 には効果がありません。

有効なアライメントは、もっとも厳密なアライメント指定子のアライメントです。

アライメント指定子で宣言されたオブジェクトを指定するときには、そのオブジェクトのその他のすべての宣言で、同じアライメント指定子を使用するか、またはアライメント指定子を使用しないでおく必要があります。オブジェクトのアライメントは、同じオブジェクトを宣言するすべてのソースファイルで同一の方法で指定する必要があり、このように指定しないと動作が未定義になります。

C.2.2 _Alignof 演算子

機能: 6.5.3.4 _Alignof 演算子

_Alignof ( type-name )

_Alignof 演算子は、そのオペランドの型のアライメント要件を示す整数定数に評価されます。オペランドは評価されません。_Alignof 演算子を関数または不完全な型で使用することはできません。

C.2.3 不可分

機能: 6.7.2.4 不可分型指定子

機能: 6.7.3 _Atomic 修飾子

機能: 6.5.2.4 不可分演算子

機能: 6.5.3.1 不可分演算子

機能: 6.5.16.2 不可分演算子

機能: 7.17 不可分

不可分機能では、不可分実行時サポートライブラリとのリンクが必要になることがあります。-xatomic=aを参照してください。

C.2.4 _Noreturn

機能: 6.7.4 関数指定子、_Noreturn

_Noreturn 指定子は、戻らない関数の宣言に次のように配置します。

_Noreturn void leave () {
    abort();
  }

C.2.5 _Static_assert

機能: 6.7.10 静的アサーション

_Static_assert ( constant-expression , string-literal ) ;

C.2.6 汎用文字名 (UCN)

ISO/IEC 9899:2011 の Annex D に従って、UCN で許可されている文字セットを更新します。許可されているすべての文字の一覧については、ISO/IEC 9899:2011 Annex D を参照してください。