aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog35
-rw-r--r--gcc/cp/pt.cc7
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),