diff options
author | Marek Polacek <polacek@redhat.com> | 2024-05-22 16:28:02 -0400 |
---|---|---|
committer | Marek Polacek <polacek@redhat.com> | 2024-05-28 14:28:18 -0400 |
commit | 5bc731b83b51910dc7f7cacddb4257a16d62ee38 (patch) | |
tree | af6b604ca4b5e5f808715e00dfa09baf1b429481 /libcpp | |
parent | c0d78289fcd9c04110907f8cad90d7e1e5c55a44 (diff) | |
download | gcc-5bc731b83b51910dc7f7cacddb4257a16d62ee38.zip gcc-5bc731b83b51910dc7f7cacddb4257a16d62ee38.tar.gz gcc-5bc731b83b51910dc7f7cacddb4257a16d62ee38.tar.bz2 |
c++: mark TARGET_EXPRs for function arguments eliding [PR114707]
Coming back to our discussion in
<https://gcc.gnu.org/pipermail/gcc-patches/2024-April/649426.html>:
TARGET_EXPRs that initialize a function argument are not marked
TARGET_EXPR_ELIDING_P even though gimplify_arg drops such TARGET_EXPRs
on the floor. To work around it, I added a pset to
replace_placeholders_for_class_temp_r, but it would be best to just rely
on TARGET_EXPR_ELIDING_P.
PR c++/114707
gcc/cp/ChangeLog:
* call.cc (convert_for_arg_passing): Call set_target_expr_eliding.
* typeck2.cc (replace_placeholders_for_class_temp_r): Don't use pset.
(digest_nsdmi_init): Call cp_walk_tree_without_duplicates instead of
cp_walk_tree.
Reviewed-by: Jason Merrill <jason@redhat.com>
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions