https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90167
Segher Boessenkool <segher at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
CC| |segher at gcc dot gnu.org
Resolution|--- |INVALID
--- Comment #1 from Segher Boessenkool <segher at gcc dot gnu.org> ---
The code accesses d, of type double, as an int. That is not a compatible
type. It does not matter how it got there, what pointer casts trickery
with unions it did.
You can access a union type as the type of any of its members. But a double
is not a union type.