diff options
author | Mike Stump <mrs@gcc.gnu.org> | 1996-05-31 05:08:47 +0000 |
---|---|---|
committer | Mike Stump <mrs@gcc.gnu.org> | 1996-05-31 05:08:47 +0000 |
commit | a4a3f053b7352c763f8c2ad5df4d082f0ad6c1f8 (patch) | |
tree | 185f361d5323cb6c4bda783c93c0231e1564ed1d /gcc | |
parent | e349ee739ed29cd4f7688629da646055c2b078da (diff) | |
download | gcc-a4a3f053b7352c763f8c2ad5df4d082f0ad6c1f8.zip gcc-a4a3f053b7352c763f8c2ad5df4d082f0ad6c1f8.tar.gz gcc-a4a3f053b7352c763f8c2ad5df4d082f0ad6c1f8.tar.bz2 |
tree.def (OFFSET_REF): Remove.
* tree.def (OFFSET_REF): Remove.
* expr.c (expand_expr, case OFFSET_REF): Ditto.
* tree.c (substitute_in_expr): Remove OFFSET_REF code.
Remove some old cruft
From-SVN: r12127
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/expr.c | 16 | ||||
-rw-r--r-- | gcc/tree.c | 9 | ||||
-rw-r--r-- | gcc/tree.def | 6 |
3 files changed, 0 insertions, 31 deletions
@@ -5450,22 +5450,6 @@ expand_expr (exp, target, tmode, modifier) return target; } - case OFFSET_REF: - { - tree base = build1 (ADDR_EXPR, type, TREE_OPERAND (exp, 0)); - tree addr = build (PLUS_EXPR, type, base, TREE_OPERAND (exp, 1)); - op0 = expand_expr (addr, NULL_RTX, VOIDmode, EXPAND_SUM); - temp = gen_rtx (MEM, mode, memory_address (mode, op0)); - MEM_IN_STRUCT_P (temp) = 1; - MEM_VOLATILE_P (temp) = TREE_THIS_VOLATILE (exp); -#if 0 /* It is incorrect to set RTX_UNCHANGING_P here, because the fact that - a location is accessed through a pointer to const does not mean - that the value there can never change. */ - RTX_UNCHANGING_P (temp) = TREE_READONLY (exp); -#endif - return temp; - } - /* Intended for a reference to a buffer of a file-object in Pascal. But it's not certain that a special tree code will really be necessary for these. INDIRECT_REF might work for them. */ @@ -2421,15 +2421,6 @@ substitute_in_expr (exp, f, r) new = fold (build1 (code, TREE_TYPE (exp), op0)); break; - - case OFFSET_REF: - op0 = substitute_in_expr (TREE_OPERAND (exp, 0), f, r); - op1 = substitute_in_expr (TREE_OPERAND (exp, 1), f, r); - if (op0 == TREE_OPERAND (exp, 0) && op1 == TREE_OPERAND (exp, 1)) - return exp; - - new = fold (build (code, TREE_TYPE (exp), op0, op1)); - break; } } diff --git a/gcc/tree.def b/gcc/tree.def index efd0af3..e6dade4 100644 --- a/gcc/tree.def +++ b/gcc/tree.def @@ -349,12 +349,6 @@ DEFTREECODE (BIT_FIELD_REF, "bit_field_ref", "r", 3) /* C unary `*' or Pascal `^'. One operand, an expression for a pointer. */ DEFTREECODE (INDIRECT_REF, "indirect_ref", "r", 1) -/* Reference to the contents of an offset - (a value whose type is an OFFSET_TYPE). - Operand 0 is the object within which the offset is taken. - Operand 1 is the offset. */ -DEFTREECODE (OFFSET_REF, "offset_ref", "r", 2) - /* Pascal `^` on a file. One operand, an expression for the file. */ DEFTREECODE (BUFFER_REF, "buffer_ref", "r", 1) |