diff options
Diffstat (limited to 'gcc/cp')
| -rw-r--r-- | gcc/cp/ChangeLog | 35 | ||||
| -rw-r--r-- | gcc/cp/pt.cc | 7 |
2 files changed, 40 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 3ad8d16..bc8bb88 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,38 @@ +2025-12-09 Nathaniel Shead <nathanieloshead@gmail.com> + + Revert: + 2025-12-09 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/122819 + * decl.cc (start_preparsed_function): Use + DECL_TEMPLOID_INSTANTIATION instead of + DECL_TEMPLATE_INSTANTIATION to check vague linkage. + * decl2.cc (vague_linkage_p): Likewise. + (c_parse_final_cleanups): Simplify condition. + * semantics.cc (expand_or_defer_fn_1): Also check for temploid + friend functions. + +2025-12-09 Nathaniel Shead <nathanieloshead@gmail.com> + + PR c++/122819 + * decl.cc (start_preparsed_function): Use + DECL_TEMPLOID_INSTANTIATION instead of + DECL_TEMPLATE_INSTANTIATION to check vague linkage. + * decl2.cc (vague_linkage_p): Likewise. + (c_parse_final_cleanups): Simplify condition. + * semantics.cc (expand_or_defer_fn_1): Also check for temploid + friend functions. + +2025-12-08 Egas Ribeiro <egas.g.ribeiro@tecnico.ulisboa.pt> + + * pt.cc (tsubst_expr): Add TARGET_EXPR case with explanatory + comment and gcc_unreachable. + +2025-12-08 Egas Ribeiro <egas.g.ribeiro@tecnico.ulisboa.pt> + + PR c++/119343 + * pt.cc (resolve_nondeduced_context): Remove mark_used call. + 2025-12-06 Jakub Jelinek <jakub@redhat.com> * decl2.cc (is_late_template_attribute): Call lookup_attribute_spec diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc index 8498730..ce30b52 100644 --- a/gcc/cp/pt.cc +++ b/gcc/cp/pt.cc @@ -22562,6 +22562,11 @@ tsubst_expr (tree t, tree args, tsubst_flags_t complain, tree in_decl) in response to the saved STMT_IS_FULL_EXPR_P setting. */ gcc_unreachable (); + case TARGET_EXPR: + /* TARGET_EXPR represents temporary objects and should not appear in + templated trees. */ + gcc_unreachable (); + case OFFSET_REF: { /* We should only get here for an OFFSET_REF like A::m; a .* in a @@ -24816,8 +24821,6 @@ resolve_nondeduced_context (tree orig_expr, tsubst_flags_t complain) } if (good == 1) { - if (!mark_used (goodfn, complain) && !(complain & tf_error)) - return error_mark_node; expr = goodfn; if (baselink) expr = build_baselink (BASELINK_BINFO (baselink), |
