diff options
author | GCC Administrator <gccadmin@gcc.gnu.org> | 2023-07-27 00:17:56 +0000 |
---|---|---|
committer | GCC Administrator <gccadmin@gcc.gnu.org> | 2023-07-27 00:17:56 +0000 |
commit | 5278cd6a45a13ae99ebdc601193167e5f583d083 (patch) | |
tree | 56f035547c6231f04d25727a6b7352411d25e6c3 /gcc/cp | |
parent | b8218eb2266811991b8163f36d5c1d974cb50b93 (diff) | |
download | gcc-5278cd6a45a13ae99ebdc601193167e5f583d083.zip gcc-5278cd6a45a13ae99ebdc601193167e5f583d083.tar.gz gcc-5278cd6a45a13ae99ebdc601193167e5f583d083.tar.bz2 |
Daily bump.
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 1087a9f..f274877 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,86 @@ +2023-07-26 Patrick Palka <ppalka@redhat.com> + + PR c++/110566 + PR c++/108179 + * pt.cc (reduce_template_parm_level): Set DECL_TEMPLATE_INFO + on the DECL_TEMPLATE_RESULT of the new ttp. + (add_defaults_to_ttp): Make a copy of the original ttp's + DECL_TEMPLATE_RESULT, and update this copy's DECL_TEMPLATE_INFO + as well. + (coerce_template_template_parms): Make sure 'scope_args' has + the right amount of levels for the ttp argument. + (most_general_template): Handle template template parameters. + (rewrite_template_parm): Set DECL_TEMPLATE_RESULT on the + DECL_TEMPLATE_RESULT of the new ttp. + +2023-07-26 Patrick Palka <ppalka@redhat.com> + + PR c++/110566 + PR c++/108179 + * pt.cc (coerce_template_template_parms): Simplify by using + DECL_INNERMOST_TEMPLATE_PARMS and removing redundant asserts. + Always pass the parameters of the most general template to + coerce_template_parms. + +2023-07-26 Patrick Palka <ppalka@redhat.com> + + PR c++/110809 + * pt.cc (unify) <case INTEGER_CST>: Generalize to handle + REAL_CST as well. + +2023-07-26 Marek Polacek <polacek@redhat.com> + + * parser.cc (cp_parser_constant_expression): Allow non_constant_p to be + nullptr even when allow_non_constant_p is true. Don't call + _rvalue_constant_expression when not necessary. Move local variable + declarations closer to their first use. + (cp_parser_static_assert): Don't pass a dummy down to + cp_parser_constant_expression. + +2023-07-26 Jason Merrill <jason@redhat.com> + + PR c++/106310 + * parser.cc (cp_parser_template_name): Skip non-member + lookup after the template keyword. + (cp_parser_lookup_name): Pass down template_keyword_p. + +2023-07-26 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/96630 + PR c++/98675 + PR c++/70331 + * constexpr.cc (constexpr_global_ctx::is_outside_lifetime): New + function. + (constexpr_global_ctx::get_value): Don't return expired values. + (constexpr_global_ctx::get_value_ptr): Likewise. + (constexpr_global_ctx::remove_value): Mark value outside + lifetime. + (outside_lifetime_error): New function. + (cxx_eval_call_expression): No longer track save_exprs. + (cxx_eval_loop_expr): Likewise. + (cxx_eval_constant_expression): Add checks for outside lifetime + values. Remove local variables at end of bind exprs, and + temporaries after cleanup points. + +2023-07-26 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/110619 + * cp-gimplify.cc (cp_genericize_r): Transform RETURN_EXPRs to + not return dangling pointers. + * cp-tree.h (RETURN_EXPR_LOCAL_ADDR_P): New flag. + (check_return_expr): Add a new parameter. + * semantics.cc (finish_return_stmt): Set flag on RETURN_EXPR + when referring to dangling pointer. + * typeck.cc (check_return_expr): Disable transformation of + dangling pointers, instead pass this information to caller. + +2023-07-26 Nathaniel Shead <nathanieloshead@gmail.com> + + * constexpr.cc (modifying_const_object_error): Find the source + location of the const object's declaration. + (cxx_eval_constant_expression): Update input_location to the + location of the currently evaluated expression, if possible. + 2023-07-25 Marek Polacek <polacek@redhat.com> PR c++/108960 |