diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2000-12-16 15:46:00 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2000-12-16 10:46:00 -0500 |
commit | 67011d8196bb6cd0da469cfe0096aba5aaf5b93e (patch) | |
tree | 5f6b0abb4346c6ba72971b85b889ddc7574ce3db /gcc/stor-layout.c | |
parent | 23cb454af9f1009e43b1051898d0f84adff4eed5 (diff) | |
download | gcc-67011d8196bb6cd0da469cfe0096aba5aaf5b93e.zip gcc-67011d8196bb6cd0da469cfe0096aba5aaf5b93e.tar.gz gcc-67011d8196bb6cd0da469cfe0096aba5aaf5b93e.tar.bz2 |
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
Diffstat (limited to 'gcc/stor-layout.c')
-rw-r--r-- | gcc/stor-layout.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c index 7fb7f2a..d909ab7 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, |