This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[C++ PATCH]: Partial fix for 1505
- To: gcc-patches at gcc dot gnu dot org
- Subject: [C++ PATCH]: Partial fix for 1505
- From: Nathan Sidwell <nathan at codesourcery dot com>
- Date: Thu, 18 Jan 2001 09:42:44 +0000
- Organization: Codesourcery LLC
Hi,
I've installed this patch for bug 1505 which enters an infinite recursion.
Unfortunately fixing that only shows further problems with that report.
built & tested on i686-pc-linux-gnu, approved by Mark
nathan
--
Dr Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery LLC
'But that's a lie.' - 'Yes it is. What's your point?'
nathan@codesourcery.com : http://www.cs.bris.ac.uk/~nathan/ : nathan@acm.org
2001-01-15 Nathan Sidwell <nathan@codesourcery.com>
* tree.c (walk_tree, TREE_LIST): Don't walk the TREE_PURPOSE of
BASELINK_P.
Index: cp/tree.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/cp/tree.c,v
retrieving revision 1.228
diff -c -3 -p -r1.228 tree.c
*** tree.c 2001/01/15 03:33:53 1.228
--- tree.c 2001/01/15 14:16:45
*************** walk_tree (tp, func, data, htab)
*** 1311,1317 ****
break;
case TREE_LIST:
! WALK_SUBTREE (TREE_PURPOSE (*tp));
WALK_SUBTREE (TREE_VALUE (*tp));
WALK_SUBTREE (TREE_CHAIN (*tp));
break;
--- 1311,1319 ----
break;
case TREE_LIST:
! /* A BASELINK_P's TREE_PURPOSE is a BINFO, and hence circular. */
! if (!BASELINK_P (*tp))
! WALK_SUBTREE (TREE_PURPOSE (*tp));
WALK_SUBTREE (TREE_VALUE (*tp));
WALK_SUBTREE (TREE_CHAIN (*tp));
break;