summaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2003-05-20 20:24:08 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2003-05-20 20:24:08 +0000
commitc9ce61b7ea8dac63d59f6f1c73621eb6327b4024 (patch)
tree47fe4e814049329aebee13405098f61ed66bd1d9 /gcc/tree.c
parent0ec45dc17cab18e9c8c53d8d2c5d0855e2ca1674 (diff)
downloadgcc-c9ce61b7ea8dac63d59f6f1c73621eb6327b4024.tar.gz
* tree.c (expr_last): New fn.
* tree.h: Declare it. * objc/objc-act (expr_last): Rename to objc_expr_last. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67035 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index 3271a5bd163..efb4e222d20 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -1123,6 +1123,18 @@ tree_cons (purpose, value, chain)
return node;
}
+/* Return the last expression in a sequence of COMPOUND_EXPRs. */
+
+tree
+expr_last (expr)
+ tree expr;
+{
+ if (expr == NULL_TREE)
+ return expr;
+ while (TREE_CODE (expr) == COMPOUND_EXPR)
+ expr = TREE_OPERAND (expr, 1);
+ return expr;
+}
/* Return the size nominally occupied by an object of type TYPE
when it resides in memory. The value is measured in units of bytes,