Hi,
I'm documenting the system data types in the man-pages,
and I was writing now about these types.
I'm showing below both the rendered output and the source I have right now.
Would you add anything to it?
And I have some questions:
Is 'signed __int128' a valid thing,
and if so is it completely equivalent to '__int128'?
Is the GCC version correct?
There's no implementation where 'long long' is 128 bits yet, right?
Thanks,
Alex
Rendered output:
[[
__int128
A signed integer type of a fixed width of exactly 128 bits.
According to GNU, it is supported only for targets which have an
integer mode wide enough to hold 128 bits.
Bugs: It is not possible to express an integer constant of type
__int128 in implementations where long long is less than 128
bits wide.
Conforming to: GCC 4.6.0 and later.
Notes: This type is available without including any header.
See also the intmax_t, intN_t and unsigned __int128 types in
this page.
[...]
unsigned __int128
An unsigned integer type of a fixed width of exactly 128 bits.
According to GNU, it is supported only for targets which have an
integer mode wide enough to hold 128 bits.
Bugs: It is not possible to express an integer constant of type
unsigned __int128 in implementations where unsigned long long is
less than 128 bits wide.
Conforming to: GCC 4.6.0 and later.
Notes: This type is available without including any header.
See also the __int128, uintmax_t and uintN_t types in this page.
]]
Source:
[[
.\"------------------------------------- __int128 ---------------------/
.TP
.I __int128
.RS
A signed integer type
of a fixed width of exactly 128 bits.
.PP
According to GNU,
it is supported only for targets which have
an integer mode wide enough to hold 128 bits.
.PP
Bugs:
It is not possible to express an integer constant of type
.I __int128
in implementations where
.I long long
is less than 128 bits wide.
.PP
Conforming to:
GCC 4.6.0 and later.
.PP
Notes:
This type is available without including any header.
.PP
See also the
.IR intmax_t ,
.IR int N _t
and
.I unsigned __int128
types in this page.
.RE
[...]
.\"------------------------------------- unsigned __int128 ------------/
.TP
.I unsigned __int128
.RS
An unsigned integer type
of a fixed width of exactly 128 bits.
.PP
According to GNU,
it is supported only for targets which have
an integer mode wide enough to hold 128 bits.
.PP
Bugs:
It is not possible to express an integer constant of type
.I unsigned __int128
in implementations where
.I unsigned long long
is less than 128 bits wide.
.PP
Conforming to:
GCC 4.6.0 and later.
.PP
Notes:
This type is available without including any header.
.PP
See also the
.IR __int128 ,
.I uintmax_t
and
.IR uint N _t
types in this page.
.RE
]]