From 67011d8196bb6cd0da469cfe0096aba5aaf5b93e Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sat, 16 Dec 2000 15:46:00 +0000 Subject: [PATCH] stor-layout.c (place_field): Treat overflowing DECL_SIZE_UNIT as if size were variable. * stor-layout.c (place_field): Treat overflowing DECL_SIZE_UNIT as if size were variable. From-SVN: r38307 --- gcc/ChangeLog | 3 +++ gcc/stor-layout.c | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3a5637adf76..3bf85285727 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ Sat Dec 16 10:41:11 2000 Richard Kenner + * stor-layout.c (place_field): Treat overflowing DECL_SIZE_UNIT + as if size were variable. + * expmed.c (expand_mult): Write REG_EQUAL note with proper mode. 2000-12-16 Neil Booth diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c index 7fb7f2a1ddf..d909ab74d74 100644 --- a/gcc/stor-layout.c +++ b/gcc/stor-layout.c @@ -893,7 +893,8 @@ place_field (rli, field) is printed in finish_struct. */ if (DECL_SIZE (field) == 0) /* Do nothing. */; - else if (! TREE_CONSTANT (DECL_SIZE_UNIT (field))) + else if (TREE_CODE (DECL_SIZE_UNIT (field)) != INTEGER_CST + || TREE_CONSTANT_OVERFLOW (DECL_SIZE_UNIT (field))) { rli->offset = size_binop (PLUS_EXPR, rli->offset, -- 2.30.2