From 4d054123bf7c5870fdbe90094ac8e39e184add2f Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Fri, 18 Oct 2002 08:17:57 +0000 Subject: [PATCH] re PR c++/7676 (Member template function overloading problem) cp: PR c++/7676 * class.c (add_method): Compare template parms too. testsuite: * g++.dg/overload/member2.C: New test. From-SVN: r58281 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/class.c | 7 +++++++ gcc/testsuite/ChangeLog | 5 +++++ 3 files changed, 17 insertions(+) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 4de6af480f33..491d84eed423 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2002-10-18 Nathan Sidwell + + PR c++/7676 + * class.c (add_method): Compare template parms too. + 2002-10-17 Mark Mitchell * mangle.c (globals): Add entity and need_abi_warning. diff --git a/gcc/cp/class.c b/gcc/cp/class.c index 9ae0cf144195..6bb1e4e945cd 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -945,6 +945,13 @@ add_method (type, method, error_p) && (TYPE_QUALS (TREE_TYPE (TREE_VALUE (parms1))) != TYPE_QUALS (TREE_TYPE (TREE_VALUE (parms2))))) same = 0; + + /* For templates, the template parms must be identical. */ + if (TREE_CODE (fn) == TEMPLATE_DECL + && !comp_template_parms (DECL_TEMPLATE_PARMS (fn), + DECL_TEMPLATE_PARMS (method))) + same = 0; + if (! DECL_STATIC_FUNCTION_P (fn)) parms1 = TREE_CHAIN (parms1); if (! DECL_STATIC_FUNCTION_P (method)) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7129c2f5d420..cc1e7f6cce48 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2002-10-18 Nathan Sidwell + + PR c++/7676 + * g++.dg/overload/method2.C: New test. + 2002-10-17 Mark Mitchell PR c++/7584 -- 2.47.2