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

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to H.J. Lu from comment #2)
> +  __int128 i = (__int128)INT64_C(0x123456789);

This doesn't do anything, it's already a signed 64-bit value.

The problem is that h(__i) truncates it to 32-bit size_t and that changes the
value.

Reply via email to