aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2020-04-27 23:55:00 +0100
committerIain Sandoe <iain@sandoe.co.uk>2020-04-27 23:58:07 +0100
commit174b6f735019a11017284aaa23962cebd3943c99 (patch)
treeb78b2db6fd38ea74975ece317e3488b08d485c1d /gcc/tree.c
parentd8df7c404e233abb1e26d8b8370c460732904531 (diff)
downloadgcc-174b6f735019a11017284aaa23962cebd3943c99.zip
gcc-174b6f735019a11017284aaa23962cebd3943c99.tar.gz
gcc-174b6f735019a11017284aaa23962cebd3943c99.tar.bz2
coroutines: Fix for uses of structured binding [PR94701]
Structured binding makes use of the DECL_VALUE_EXPR fields in local variables. We need to recognise these and only amend the expression values, retaining the 'alias' value intact. gcc/cp/ChangeLog: 2020-04-27 Iain Sandoe <iain@sandoe.co.uk> PR c++/94701 * coroutines.cc (struct local_var_info): Add fields for static variables and those with DECL_VALUE_EXPR redirection. (transform_local_var_uses): Skip past typedefs and static vars and then account for redirected variables. (register_local_var_uses): Likewise. gcc/testsuite/ChangeLog: 2020-04-27 Iain Sandoe <iain@sandoe.co.uk> PR c++/94701 * g++.dg/coroutines/torture/local-var-06-structured-binding.C: New test.
Diffstat (limited to 'gcc/tree.c')
0 files changed, 0 insertions, 0 deletions