aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/stmt.c6
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 28698f2..5e8cfed 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+1999-12-15 Jason Merrill <jason@casey.cygnus.com>
+
+ * stmt.c (expand_decl): Expand upper bound of a dynamic array.
+
1999-12-15 Jakub Jelinek <jakub@redhat.com>
* expr.c (emit_group_load): Use dst mode if src is VOIDmode.
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 8256646..e94c1e8 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -3817,6 +3817,12 @@ expand_decl (decl)
stack_block_stack = thisblock;
}
+ /* In function-at-a-time mode, variable_size doesn't expand this,
+ so do it now. */
+ if (TREE_CODE (type) == ARRAY_TYPE && TYPE_DOMAIN (type))
+ expand_expr (TYPE_MAX_VALUE (TYPE_DOMAIN (type)),
+ const0_rtx, VOIDmode, 0);
+
/* Compute the variable's size, in bytes. */
size = expand_expr (size_binop (CEIL_DIV_EXPR,
DECL_SIZE (decl),