]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR c++/19034 (internal compiler error: in cp_tree_equal, at cp/tree...
authorMark Mitchell <mark@codesourcery.com>
Thu, 5 May 2005 05:45:54 +0000 (05:45 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Thu, 5 May 2005 05:45:54 +0000 (05:45 +0000)
Backport:
2004-12-21  Mark Mitchell  <mark@codesourcery.com>
PR c++/19034
* tree.c (cp_tree_equal): Handle OVERLOAD.

Backport:
2004-12-21  Mark Mitchell  <mark@codesourcery.com>
PR c++/19034
* g++.dg/template/crash30.C: New test.

From-SVN: r99263

gcc/cp/ChangeLog
gcc/cp/tree.c
gcc/testsuite/ChangeLog

index 6365b27b086660e6733f5168ae60bb99a32e5cd5..bd59b7acfe176fbe1a929afb33d359967a173b3a 100644 (file)
@@ -1,3 +1,10 @@
+2005-05-04  Mark Mitchell  <mark@codesourcery.com>
+
+       Backport:
+       2004-12-21  Mark Mitchell  <mark@codesourcery.com>
+       PR c++/19034
+       * tree.c (cp_tree_equal): Handle OVERLOAD.
+
 2005-05-02  Mark Mitchell  <mark@codesourcery.com>
 
        Revert:
index c64b4b134c805c2df405d82524933a2bf36e70c0..2e41211fcd3efae03bdcc1636f1beb70eb1d4368 100644 (file)
@@ -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;
     }
index f0e819fb7b520d8474cb20bfc9bf2e5c8f72a8a2..6be57523a1b7ff2bf9834beb2da36c8c72cd84e8 100644 (file)
@@ -1,3 +1,10 @@
+2005-05-04  Mark Mitchell  <mark@codesourcery.com>
+
+       Backport:
+       2004-12-21  Mark Mitchell  <mark@codesourcery.com>
+       PR c++/19034
+       * g++.dg/template/crash30.C: New test.
+
 2005-05-02  Mark Mitchell  <mark@codesourcery.com>
 
        Backport: