Bug 65881 - no documentation of __uint128_t
Summary: no documentation of __uint128_t
Status: RESOLVED INVALID
Alias: None
Product: gcc
Classification: Unclassified
Component: c (show other bugs)
Version: unknown
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-04-25 04:29 UTC by Shawn Landden
Modified: 2015-04-25 18:03 UTC (History)
0 users

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Shawn Landden 2015-04-25 04:29:59 UTC
gcc on x86_64 recognizes __uint128_t, but this is not documented along with __int128, also there is no warning when a target does not support __uint128_t, like there is with __int128:

triangle64.c:32:1: error: ‘__int128’ is not supported for this target

A unsigned 128-bit type is needed because it has defined integer overflow.
Comment 1 Marc Glisse 2015-04-25 05:50:46 UTC
(In reply to Shawn Landden from comment #0)
> gcc on x86_64 recognizes __uint128_t, but this is not documented along with
> __int128, also there is no warning when a target does not support
> __uint128_t, like there is with __int128:
> 
> triangle64.c:32:1: error: ‘__int128’ is not supported for this target

e.c:2:3: error: unknown type name ‘__uint128_t’
   __uint128_t i=42;
   ^

> A unsigned 128-bit type is needed because it has defined integer overflow.

https://gcc.gnu.org/onlinedocs/gcc/_005f_005fint128.html
That type is called "unsigned __int128". The other aliases are only for compatibility or legacy.
Comment 2 Shawn Landden 2015-04-25 18:03:47 UTC
> unsigned __int128