OSDN Git Service

* stmt.c (expand_decl): Expand upper bound of a dynamic array.
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 15 Dec 1999 19:56:41 +0000 (19:56 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 15 Dec 1999 19:56:41 +0000 (19:56 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30962 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/stmt.c

index 28698f2..5e8cfed 100644 (file)
@@ -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.
index 8256646..e94c1e8 100644 (file)
@@ -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),