aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorGCC Administrator <gccadmin@gcc.gnu.org>2023-07-27 00:17:56 +0000
committerGCC Administrator <gccadmin@gcc.gnu.org>2023-07-27 00:17:56 +0000
commit5278cd6a45a13ae99ebdc601193167e5f583d083 (patch)
tree56f035547c6231f04d25727a6b7352411d25e6c3 /gcc/cp
parentb8218eb2266811991b8163f36d5c1d974cb50b93 (diff)
downloadgcc-5278cd6a45a13ae99ebdc601193167e5f583d083.zip
gcc-5278cd6a45a13ae99ebdc601193167e5f583d083.tar.gz
gcc-5278cd6a45a13ae99ebdc601193167e5f583d083.tar.bz2
Daily bump.
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog83
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