aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-inline-transform.c
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2020-04-27 15:21:25 +0100
committerIain Sandoe <iain@sandoe.co.uk>2020-04-30 15:56:44 +0100
commitb16fd5fd8afe6f95c8ae44e759971e605c31f97b (patch)
tree8abba6dba3e6e635536ea971ca7cb13a06f93a67 /gcc/ipa-inline-transform.c
parent04e88369a7d95492efccf8f527d27cca74664ea7 (diff)
downloadgcc-b16fd5fd8afe6f95c8ae44e759971e605c31f97b.zip
gcc-b16fd5fd8afe6f95c8ae44e759971e605c31f97b.tar.gz
gcc-b16fd5fd8afe6f95c8ae44e759971e605c31f97b.tar.bz2
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.
Diffstat (limited to 'gcc/ipa-inline-transform.c')
0 files changed, 0 insertions, 0 deletions