aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-04-02 07:55:13 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-04-02 07:55:13 -0400
commit0bcec3673dd7f32b3b276cbea50428e5c7cb9d3b (patch)
treec76d6859dd6c171ad68d4156811f69d9660cd66f /gcc/tree.c
parentdf52f9914d7066cec5bc14b21470c44a70c00244 (diff)
downloadgcc-0bcec3673dd7f32b3b276cbea50428e5c7cb9d3b.zip
gcc-0bcec3673dd7f32b3b276cbea50428e5c7cb9d3b.tar.gz
gcc-0bcec3673dd7f32b3b276cbea50428e5c7cb9d3b.tar.bz2
(chain_member_purpose): New function.
From-SVN: r9292
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index 689003e..eb5f6bf 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -1723,6 +1723,24 @@ chain_member_value (elem, chain)
return 0;
}
+/* Return nonzero if ELEM is equal to TREE_PURPOSE (TREE_VALUE (CHAIN))
+ for any piece of chain CHAIN. */
+
+int
+chain_member_purpose (elem, chain)
+ tree elem, chain;
+{
+
+ while (chain)
+ {
+ if (elem == TREE_PURPOSE (TREE_VALUE (chain)))
+ return 1;
+ chain = TREE_CHAIN (chain);
+ }
+
+ return 0;
+}
+
/* Return the length of a chain of nodes chained through TREE_CHAIN.
We expect a null pointer to mark the end of the chain.
This is the Lisp primitive `length'. */