From: Martin v. Löwis Date: Mon, 14 Jun 1999 15:56:12 +0000 (+0000) Subject: pt.c (tsubst_friend_function): Push into namespace of friend function before pushdecl... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=92da7074dec9bcb615c1a9b1461d7207b7f6641e;p=gcc.git pt.c (tsubst_friend_function): Push into namespace of friend function before pushdecl'ing it. * pt.c (tsubst_friend_function): Push into namespace of friend function before pushdecl'ing it. From-SVN: r27520 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 18d83d8f152..99386f1b1fb 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +1999-06-14 Martin von Löwis + + * pt.c (tsubst_friend_function): Push into namespace of friend + function before pushdecl'ing it. + 1999-06-14 Nathan Sidwell * call.c (build_new_op): Remove REF_BIND from all operands. diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 2592ab44598..712ad6c963e 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -4495,6 +4495,7 @@ tsubst_friend_function (decl, args) tree old_decl; tree new_friend_template_info; tree new_friend_result_template_info; + tree ns; int new_friend_is_defn; /* We must save some information from NEW_FRIEND before calling @@ -4517,7 +4518,13 @@ tsubst_friend_function (decl, args) new_friend_result_template_info = NULL_TREE; } + /* Inside pushdecl_namespace_level, we will push into the + current namespace. However, the friend function should + tyically go into the namespace of the template. */ + ns = decl_namespace_context (new_friend); + push_nested_namespace (ns); old_decl = pushdecl_namespace_level (new_friend); + pop_nested_namespace (ns); if (old_decl != new_friend) {