From: Mark Mitchell Date: Thu, 5 May 2005 05:45:54 +0000 (+0000) Subject: backport: re PR c++/19034 (internal compiler error: in cp_tree_equal, at cp/tree... X-Git-Tag: releases/gcc-3.4.4~40 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3036b4dc198fd76a70a304fafae73a4e5017ec69;p=thirdparty%2Fgcc.git backport: re PR c++/19034 (internal compiler error: in cp_tree_equal, at cp/tree.c:1633) Backport: 2004-12-21 Mark Mitchell PR c++/19034 * tree.c (cp_tree_equal): Handle OVERLOAD. Backport: 2004-12-21 Mark Mitchell PR c++/19034 * g++.dg/template/crash30.C: New test. From-SVN: r99263 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 6365b27b0866..bd59b7acfe17 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,10 @@ +2005-05-04 Mark Mitchell + + Backport: + 2004-12-21 Mark Mitchell + PR c++/19034 + * tree.c (cp_tree_equal): Handle OVERLOAD. + 2005-05-02 Mark Mitchell Revert: diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index c64b4b134c80..2e41211fcd3e 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -1604,6 +1604,11 @@ cp_tree_equal (tree t1, tree t2) return same_type_p (PTRMEM_CST_CLASS (t1), PTRMEM_CST_CLASS (t2)); + case OVERLOAD: + if (OVL_FUNCTION (t1) != OVL_FUNCTION (t2)) + return false; + return cp_tree_equal (OVL_CHAIN (t1), OVL_CHAIN (t2)); + default: break; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f0e819fb7b52..6be57523a1b7 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2005-05-04 Mark Mitchell + + Backport: + 2004-12-21 Mark Mitchell + PR c++/19034 + * g++.dg/template/crash30.C: New test. + 2005-05-02 Mark Mitchell Backport: