diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/emit-rtl.c | 3 |
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; |
