[Bug c++/94879] coroutines: ICE building folly in captures_temporary, at cp/coroutines.cc:2707

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Apr 30 14:57:08 GMT 2020


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

--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Iain D Sandoe <iains@gcc.gnu.org>:

https://gcc.gnu.org/g:b16fd5fd8afe6f95c8ae44e759971e605c31f97b

commit r10-8073-gb16fd5fd8afe6f95c8ae44e759971e605c31f97b
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Mon Apr 27 15:21:25 2020 +0100

    coroutines: Fix cases where proxy variables are used [PR94879]

    There are several places where the handling of a variable
    declaration depends on whether it corresponds to a compiler
    temporary, or to some other entity.  We were testing that var
    decls were artificial in determining this.  However, proxy vars
    are also artificial so that this is not sufficient.  The solution
    is to exclude variables with a DECL_VALUE_EXPR as well, since
    the value variable will not be a temporary.

    gcc/cp/ChangeLog:

    2020-04-30  Iain Sandoe  <iain@sandoe.co.uk>

            PR c++/94879
            * coroutines.cc (build_co_await): Account for variables
            with DECL_VALUE_EXPRs.
            (captures_temporary): Likewise.
            (register_awaits): Likewise.

    gcc/testsuite/ChangeLog:

    2020-04-30  Iain Sandoe  <iain@sandoe.co.uk>

            PR c++/94879
            * g++.dg/coroutines/pr94879-folly-1.C: New test.


More information about the Gcc-bugs mailing list