https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64703
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
4.6 seems to optimize it away too, 4.4 does not. Anyway, strictly speaking the
code is invalid, the standard does not allow conversions between data and
function pointers I believe. I'd say the asm barrier in the code would be
best.