aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2001-12-18 22:15:46 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2001-12-18 17:15:46 -0500
commit0366770096c827a06e15123753f566d807d4899a (patch)
tree4201243d282b2797ba465bb058f1c86c98b7eff9
parent9560d353d38cd1efb65c919eb44953503bcfafdc (diff)
downloadgcc-0366770096c827a06e15123753f566d807d4899a.zip
gcc-0366770096c827a06e15123753f566d807d4899a.tar.gz
gcc-0366770096c827a06e15123753f566d807d4899a.tar.bz2
emit-rtl.c (widen_memory_access): Only call compare_tree_int on an INTEGER_CST.
* emit-rtl.c (widen_memory_access): Only call compare_tree_int on an INTEGER_CST. From-SVN: r48166
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/emit-rtl.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e629104..bd73403 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Tue Dec 18 17:02:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * emit-rtl.c (widen_memory_access): Only call compare_tree_int
+ on an INTEGER_CST.
+
2001-12-18 David Edelsohn <edelsohn@gnu.org>
* rs6000.c (rs6000_override_options): Only use DI ops when
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 64a2624..8faef45 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -2113,7 +2113,8 @@ widen_memory_access (memref, mode, offset)
/* Is the field at least as large as the access? If so, ok,
otherwise strip back to the containing structure. */
- if (compare_tree_int (DECL_SIZE_UNIT (field), size) >= 0
+ if (TREE_CODE (DECL_SIZE_UNIT (field)) == INTEGER_CST
+ && compare_tree_int (DECL_SIZE_UNIT (field), size) >= 0
&& INTVAL (memoffset) >= 0)
break;