From 1810c3fa48bfd1071b9a53d6eab3969f45b77c8f Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Wed, 22 Dec 1993 14:18:06 -0500 Subject: [PATCH] (chainon): Detect more circularities. From-SVN: r6266 --- gcc/tree.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/gcc/tree.c b/gcc/tree.c index ed6411d..8324ba1 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -1571,14 +1571,18 @@ tree chainon (op1, op2) tree op1, op2; { - tree t; if (op1) { - for (t = op1; TREE_CHAIN (t); t = TREE_CHAIN (t)) - if (t == op2) abort (); /* Circularity being created */ - if (t == op2) abort (); /* Circularity being created */ - TREE_CHAIN (t) = op2; + register tree t1; + register tree t2; + + for (t1 = op1; TREE_CHAIN (t1); t1 = TREE_CHAIN (t1)) + ; + TREE_CHAIN (t1) = op2; + for (t2 = op2; t2; t2 = TREE_CHAIN (t2)) + if (t2 == t1) + abort (); /* Circularity created. */ return op1; } else return op2; -- 2.7.4