From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 10AAD396E011; Thu, 30 Apr 2020 14:57:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 10AAD396E011 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1588258629; bh=hDyBAPbNTrc73fw9XGxqeCr/gpYnOPgypocPMxDVVLk=; h=From:To:Subject:Date:In-Reply-To:References:From; b=lwhFrypco9MaVQlXV0vTDLGIDjafybXMe84MzXSrO8RHmWYPGo2F9RzKeuGUdu3qo h8NH4f51HB3GGFmyMq5xGJdLI0bwmtI0eSznh8MzRT1oKJGgtURktb66Bp0PzAVI25 FyyQjjxc/dX5QOnMiyiKEKX1l/2L/PIMPCx4pTps= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/94879] coroutines: ICE building folly in captures_temporary, at cp/coroutines.cc:2707 Date: Thu, 30 Apr 2020 14:57:08 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 10.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: iains at gcc dot gnu.org X-Bugzilla-Target-Milestone: 10.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Apr 2020 14:57:09 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D94879 --- Comment #1 from CVS Commits --- The master branch has been updated by Iain D Sandoe : https://gcc.gnu.org/g:b16fd5fd8afe6f95c8ae44e759971e605c31f97b commit r10-8073-gb16fd5fd8afe6f95c8ae44e759971e605c31f97b Author: Iain Sandoe 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 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 PR c++/94879 * g++.dg/coroutines/pr94879-folly-1.C: New test.=