diff options
author | Iain Sandoe <iain@sandoe.co.uk> | 2020-04-27 23:55:00 +0100 |
---|---|---|
committer | Iain Sandoe <iain@sandoe.co.uk> | 2020-04-27 23:58:07 +0100 |
commit | 174b6f735019a11017284aaa23962cebd3943c99 (patch) | |
tree | b78b2db6fd38ea74975ece317e3488b08d485c1d /gcc/tree.c | |
parent | d8df7c404e233abb1e26d8b8370c460732904531 (diff) | |
download | gcc-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