https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61245
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|middle-end |c++
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
For some reason we create a temporary, probably because the very specific
ANNOTATE is inside a cleanup_point:
if (<<cleanup_point ANNOTATE_EXPR <SoA<3>::size ((struct SoA *) soa) > i,
ivdep>>>) goto <D.28269>; else goto <D.28267>;
that is, the wrapped expressions has side-effects. We should build the
ANNOTATE_EXPR outside of that cleanup.
C++ FE support issue.