https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96749

Iain Sandoe <iains at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |iains at gcc dot gnu.org

--- Comment #4 from Iain Sandoe <iains at gcc dot gnu.org> ---
Created attachment 50377
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50377&action=edit
Patch under test

thanks for the reports.

Even though user code cannot, the compiler can generate things like:

(make some temporary, use that temporary)

So a compound statement that builds a temporary that we then use in the second
part.

When this idiom was encountered, the transforms applied to split await
expressions out were producing something like

{
 build temporary
 temporary
 use the temporary
}

so the middle statement was harmless, but also has no effect (hence the
warning).

the patch under test accounts for this idiom.

Reply via email to