From d82d65d886aa88cd38f03c768a6bd3aac3dc21f2 Mon Sep 17 00:00:00 2001 From: "Martin v. Loewis" Date: Tue, 10 Aug 1999 16:58:24 +0000 Subject: [PATCH] decl2.c (set_decl_namespace): Do not complain about non-matching decls if processing a template. * decl2.c (set_decl_namespace): Do not complain about non-matching decls if processing a template. From-SVN: r28649 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/decl2.c | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index b6fd5428cf8..6575c577804 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +1999-08-09 Martin v. Loewis + + * decl2.c (set_decl_namespace): Do not complain about non-matching + decls if processing a template. + 1999-08-09 Mark Mitchell * decl.c (build_ptrmemfunc_type): Handle qualified diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index a044f450d73..c5a492f8d52 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -4499,6 +4499,12 @@ set_decl_namespace (decl, scope, friendp) /* Since decl is a function, old should contain a function decl. */ if (!is_overloaded_fn (old)) goto complain; + if (processing_template_decl || processing_specialization) + /* We have not yet called push_template_decl to turn the + FUNCTION_DECL into a TEMPLATE_DECL, so the declarations + won't match. But, we'll check later, when we construct the + template. */ + return; for (; old; old = OVL_NEXT (old)) if (decls_match (decl, OVL_CURRENT (old))) return;