aboutsummaryrefslogtreecommitdiff
path: root/gcc/stmt.c
diff options
context:
space:
mode:
authorJason Merrill <jason@casey.cygnus.com>1999-12-15 19:56:41 +0000
committerJason Merrill <jason@gcc.gnu.org>1999-12-15 14:56:41 -0500
commit4d9af632c473c98fdca77cd26fa0113f93bdb9e6 (patch)
tree15a5b1a46fd2c7c7da082b60bd04f361f1a9cdab /gcc/stmt.c
parent8890f3d8dfab4192b11f9ed367c301922d5ee9be (diff)
downloadgcc-4d9af632c473c98fdca77cd26fa0113f93bdb9e6.zip
gcc-4d9af632c473c98fdca77cd26fa0113f93bdb9e6.tar.gz
gcc-4d9af632c473c98fdca77cd26fa0113f93bdb9e6.tar.bz2
* stmt.c (expand_decl): Expand upper bound of a dynamic array.
From-SVN: r30962
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r--gcc/stmt.c6
1 files changed, 6 insertions, 0 deletions
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),