https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111210
--- Comment #5 from Shaohua Li ---
Thanks for all your comments!
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111210
--- Comment #4 from Alexander Monakov ---
The testcase is small enough to notice the issue by inspection.
Note that you get the "expected" answer with -fno-strict-aliasing, and as
explained in https://gcc.gnu.org/bugs/ it is one of the things
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111210
Xi Ruoyao changed:
What|Removed |Added
CC||xry111 at gcc dot gnu.org
--- Comment #3
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111210
--- Comment #2 from Shaohua Li ---
(In reply to Alexander Monakov from comment #1)
> 'c' is called with 'd' pointing to 'long e[2]', so
>
> return *(int *)(d + 1);
>
> is an aliasing violation (dereferencing a pointer to an incompatible
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111210
Alexander Monakov changed:
What|Removed |Added
Resolution|--- |INVALID