aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-07-10 01:32:58 +0000
committerRichard Stallman <rms@gnu.org>1992-07-10 01:32:58 +0000
commit0fafb45e4b8e5c4d102833d9fe39334cc35e43d7 (patch)
tree57c691a3a5f17b9869c7f446113c0f6c123d49b6 /gcc/tree.h
parent3904131aade4db59e9a3a6a87a39af9b7eb8ef28 (diff)
downloadgcc-0fafb45e4b8e5c4d102833d9fe39334cc35e43d7.zip
gcc-0fafb45e4b8e5c4d102833d9fe39334cc35e43d7.tar.gz
gcc-0fafb45e4b8e5c4d102833d9fe39334cc35e43d7.tar.bz2
entered into RCS
From-SVN: r1547
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 72ef3f6..b853d0b 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -202,6 +202,16 @@ struct tree_common
&& (TYPE_MODE (TREE_TYPE (EXP)) \
== TYPE_MODE (TREE_TYPE (TREE_OPERAND (EXP, 0))))) \
(EXP) = TREE_OPERAND (EXP, 0);
+
+/* Like STRIP_NOPS, but don't alter the TREE_TYPE either. */
+
+#define STRIP_TYPE_NOPS(EXP) \
+ while ((TREE_CODE (EXP) == NOP_EXPR \
+ || TREE_CODE (EXP) == CONVERT_EXPR \
+ || TREE_CODE (EXP) == NON_LVALUE_EXPR) \
+ && (TREE_TYPE (EXP) \
+ == TREE_TYPE (TREE_OPERAND (EXP, 0)))) \
+ (EXP) = TREE_OPERAND (EXP, 0);
/* Define many boolean fields that all tree nodes have. */