diff options
author | Jakub Jelinek <jakub@redhat.com> | 2019-12-06 21:16:27 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-12-06 21:16:27 +0100 |
commit | 2ee63d048eaee3c830c944970b1ad950bffc75b4 (patch) | |
tree | 9b852594e7de1b641f92cda0e5cbecd9eea84934 /gcc/c-family/c-cppbuiltin.c | |
parent | eff6af8e0e9d750e13bedbe40ba70c395ba6234c (diff) | |
download | gcc-2ee63d048eaee3c830c944970b1ad950bffc75b4.zip gcc-2ee63d048eaee3c830c944970b1ad950bffc75b4.tar.gz gcc-2ee63d048eaee3c830c944970b1ad950bffc75b4.tar.bz2 |
PR c++/92831 - CWG 1299, not extending temporary lifetime for ?:
* cp-tree.h (extend_ref_init_temps): Add a new argument with NULL
default arg.
* call.c (set_up_extended_ref_temp): Add COND_GUARD argument, pass it
down to extend_ref_init_temps. Before pushing cleanup, if COND_GUARD
is non-NULL, create a bool temporary if needed, initialize to false
and guard the cleanup with the temporary being true.
(extend_ref_init_temps_1): Add COND_GUARD argument, pass it down
to recursive calls and set_up_extended_ref_temp. Handle COND_EXPR.
(extend_ref_init_temps): Add COND_GUARD argument, pass it down to
recursive calls and to extend_ref_init_temps_1.
* g++.dg/cpp0x/temp-extend2.C: New test.
From-SVN: r279064
Diffstat (limited to 'gcc/c-family/c-cppbuiltin.c')
0 files changed, 0 insertions, 0 deletions