aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorGCC Administrator <gccadmin@gcc.gnu.org>2023-12-06 00:17:50 +0000
committerGCC Administrator <gccadmin@gcc.gnu.org>2023-12-06 00:17:50 +0000
commit3dd09cd9e15f996b0f0768554d20ef1aa8b26f58 (patch)
tree565d5b3a213987d0852d513830e7ce8b6ddc122e /gcc/cp
parentf0a90c7d7333fc7f554b906245c84bdf04d716d7 (diff)
downloadgcc-3dd09cd9e15f996b0f0768554d20ef1aa8b26f58.zip
gcc-3dd09cd9e15f996b0f0768554d20ef1aa8b26f58.tar.gz
gcc-3dd09cd9e15f996b0f0768554d20ef1aa8b26f58.tar.bz2
Daily bump.
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog65
1 files changed, 65 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index b716751..308d02b 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,68 @@
+2023-12-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/112795
+ * cp-tree.h (cp_check_pragma_unroll): Declare.
+ * semantics.cc (cp_check_pragma_unroll): New function.
+ * parser.cc (cp_parser_pragma_unroll): Use cp_check_pragma_unroll.
+ * pt.cc (tsubst_expr) <case ANNOTATE_EXPR>: Likewise.
+ (tsubst_stmt) <case RANGE_FOR_STMT>: Likwsie.
+
+2023-12-05 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree.cc (cxx_gnu_attribute_table): Add extra braces to work
+ around PR 16333 in older compilers.
+
+2023-12-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/110734
+ * parser.cc (cp_parser_block_declaration): Implement C++ DR 2262
+ - Attributes for asm-definition. Call cp_parser_asm_definition
+ even if RID_ASM token is only seen after sequence of standard
+ attributes.
+ (cp_parser_asm_definition): Parse standard attributes before
+ RID_ASM token and warn for them with -Wattributes.
+
+2023-12-05 Marek Polacek <polacek@redhat.com>
+
+ PR c++/107687
+ PR c++/110997
+ * call.cc (in_immediate_context): No longer static.
+ * constexpr.cc (cxx_eval_call_expression): Adjust assert.
+ * cp-gimplify.cc (deferred_escalating_exprs): New vec.
+ (remember_escalating_expr): New.
+ (enum fold_flags): Remove ff_fold_immediate.
+ (immediate_escalating_function_p): New.
+ (unchecked_immediate_escalating_function_p): New.
+ (promote_function_to_consteval): New.
+ (cp_fold_immediate): Move above. Return non-null if any errors were
+ emitted.
+ (maybe_explain_promoted_consteval): New.
+ (cp_gimplify_expr) <case CALL_EXPR>: Assert we've handled all
+ immediate invocations.
+ (taking_address_of_imm_fn_error): New.
+ (cp_fold_immediate_r): Merge ADDR_EXPR and PTRMEM_CST cases. Implement
+ P2564 - promoting functions to consteval.
+ <case CALL_EXPR>: Implement P2564 - promoting functions to consteval.
+ (cp_fold_r): If an expression turns into a CALL_EXPR after cp_fold,
+ call cp_fold_immediate_r on the CALL_EXPR.
+ (cp_fold_function): Set DECL_ESCALATION_CHECKED_P if
+ deferred_escalating_exprs does not contain current_function_decl.
+ (process_and_check_pending_immediate_escalating_fns): New.
+ * cp-tree.h (struct lang_decl_fn): Add escalated_p bit-field.
+ (DECL_ESCALATION_CHECKED_P): New.
+ (immediate_invocation_p): Declare.
+ (process_pending_immediate_escalating_fns): Likewise.
+ * decl2.cc (c_parse_final_cleanups): Set at_eof to 2 after all
+ templates have been instantiated; and to 3 at the end of the function.
+ Call process_pending_immediate_escalating_fns.
+ * error.cc (dump_template_bindings): Check at_eof against an updated
+ value.
+ * module.cc (trees_out::lang_decl_bools): Stream escalated_p.
+ (trees_in::lang_decl_bools): Likewise.
+ * pt.cc (push_tinst_level_loc): Set at_eof to 3, not 2.
+ * typeck.cc (cp_build_addr_expr_1): Don't check
+ DECL_IMMEDIATE_FUNCTION_P.
+
2023-12-04 Jason Merrill <jason@redhat.com>
* constexpr.cc (potential_constant_expression_1): Fix