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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |INVALID
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
You are accessing 'double' via a pointer to uint64_t * here:

        k = *((uint64_t*)data);

that violates type based aliasing rules.  You can use -fno-strict-aliasing to
work around your bug or use

    typedef uint64_t aliasing_uint64_t __attribute__((may_alias));
    k = *((aliasing_uint64_t*)data);

Reply via email to