aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-iterate.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-06-27 18:41:45 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1993-06-27 18:41:45 -0400
commit93e4100a851f16268461c3f308f64f0d1c004bdc (patch)
tree38246b17025a9cbed643cb9d972a1a98ce90562e /gcc/c-iterate.c
parent3319a3472f98d4068981ecdfeced8b8286fa8b04 (diff)
downloadgcc-93e4100a851f16268461c3f308f64f0d1c004bdc.zip
gcc-93e4100a851f16268461c3f308f64f0d1c004bdc.tar.gz
gcc-93e4100a851f16268461c3f308f64f0d1c004bdc.tar.bz2
(collect_iterators, case SAVE_EXPR): Simplify code added in previous
change. From-SVN: r4768
Diffstat (limited to 'gcc/c-iterate.c')
-rw-r--r--gcc/c-iterate.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/gcc/c-iterate.c b/gcc/c-iterate.c
index 09df3e4..38c15a2 100644
--- a/gcc/c-iterate.c
+++ b/gcc/c-iterate.c
@@ -1,5 +1,5 @@
/* Build expressions with type checking for C compiler.
- Copyright (C) 1987, 1988, 1989, 1992 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -209,12 +209,9 @@ collect_iterators (exp, list)
case SAVE_EXPR:
/* In each scan, scan a given save_expr only once. */
- {
- tree tail;
- for (tail = save_exprs; tail; tail = TREE_CHAIN (tail))
- if (TREE_VALUE (tail) == exp)
- return list;
- }
+ if (value_member (exp, save_exprs))
+ return list;
+
save_exprs = tree_cons (NULL_TREE, exp, save_exprs);
return collect_iterators (TREE_OPERAND (exp, 0), list);