diff options
Diffstat (limited to 'gcc/doc/extend.texi')
-rw-r--r-- | gcc/doc/extend.texi | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 7a495ebfd64..8e9a7061b2b 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -33,6 +33,7 @@ extensions, accepted by GCC in C90 mode and in C++. * Typeof:: @code{typeof}: referring to the type of an expression. * Conditionals:: Omitting the middle operand of a @samp{?:} expression. * Long Long:: Double-word integers---@code{long long int}. +* __int128:: 128-bit integers---@code{__int128}. * Complex:: Data types for complex numbers. * Floating Types:: Additional Floating Types. * Half-Precision:: Half-Precision Floating Point. @@ -804,6 +805,17 @@ the operand in the middle would perform the side effect twice. Omitting the middle operand uses the value already computed without the undesirable effects of recomputing it. +@node __int128 +@section 128-bits integers +@cindex @code{__int128} data types + +As an extension the integer scalar type @code{__int128} is supported for +targets having an integer mode wide enough to hold 128-bit. +Simply write @code{__int128} for a signed 128-bit integer, or +@code{unsigned __int128} for an unsigned 128-bit integer. There is no +support in GCC to express an integer constant of type @code{__int128} +for targets having @code{long long} integer with less then 128 bit width. + @node Long Long @section Double-Word Integers @cindex @code{long long} data types @@ -12727,7 +12739,8 @@ versions earlier than 4.4. @cindex struct @cindex union -For compatibility with other compilers, GCC allows you to define +As permitted by ISO C1X and for compatibility with other compilers, +GCC allows you to define a structure or union that contains, as fields, structures and unions without names. For example: @@ -12765,11 +12778,12 @@ The compiler gives errors for such constructs. @opindex fms-extensions Unless @option{-fms-extensions} is used, the unnamed field must be a structure or union definition without a tag (for example, @samp{struct -@{ int a; @};}). If @option{-fms-extensions} is used, the field may +@{ int a; @};}), or a @code{typedef} name for such a structure or +union. If @option{-fms-extensions} is used, the field may also be a definition with a tag such as @samp{struct foo @{ int a; @};}, a reference to a previously defined structure or union such as @samp{struct foo;}, or a reference to a @code{typedef} name for a -previously defined structure or union type. +previously defined structure or union type with a tag. @node Thread-Local @section Thread-Local Storage |