https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121150

--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Tomasz KamiƄski from comment #6)
> What about doing:
> __uint128 u = 0x1;
> u <<= 32u;
> u |= 0x2345;
> u <<= 32u;
> u |= 0x6789;
> __int128 i = u;

There's no problem forming the constant 0x123456789 is there?

The problem for x32 is just that (size_t)0x123456789 != 0x123456789 because
size_t is only 32-bit. For (all?) other targets that support __int128, size_t
is 64-bit.

Reply via email to