https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66086
Segher Boessenkool <segher at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |segher at gcc dot gnu.org --- Comment #7 from Segher Boessenkool <segher at gcc dot gnu.org> --- Converting a pointer to/from integer type is implementation defined (C99 6.3.2.3/5 and /6). Converting a uintptr_t to and from double is perfectly well-defined (and doesn't change the value) if the values fit (6.3.1.4).