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.

Reply via email to