aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1998-11-23 01:57:40 -0700
committerJeff Law <law@gcc.gnu.org>1998-11-23 01:57:40 -0700
commit83cbe7e48dee1d426546dc84e13ea057ac0e722c (patch)
treea02df61ecf37ac274d80b64a9a13cf2adb79441e /gcc
parent578db09b668843aeb347f8ff34be2af06992ee4c (diff)
downloadgcc-83cbe7e48dee1d426546dc84e13ea057ac0e722c.zip
gcc-83cbe7e48dee1d426546dc84e13ea057ac0e722c.tar.gz
gcc-83cbe7e48dee1d426546dc84e13ea057ac0e722c.tar.bz2
local-alloc.c (local_alloc): Use malloc not alloca for reg_qty, reg_offset, ref_next_in_qty.
( * local-alloc.c (local_alloc): Use malloc not alloca for reg_qty, reg_offset, ref_next_in_qty. From-SVN: r23783
Diffstat (limited to 'gcc')
-rw-r--r--gcc/local-alloc.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c
index ddcd475..42c760f 100644
--- a/gcc/local-alloc.c
+++ b/gcc/local-alloc.c
@@ -337,9 +337,9 @@ local_alloc ()
qty_n_refs = (int *) alloca (max_qty * sizeof (int));
qty_changes_size = (char *) alloca (max_qty * sizeof (char));
- reg_qty = (int *) alloca (max_regno * sizeof (int));
- reg_offset = (char *) alloca (max_regno * sizeof (char));
- reg_next_in_qty = (int *) alloca (max_regno * sizeof (int));
+ reg_qty = (int *) xmalloc (max_regno * sizeof (int));
+ reg_offset = (char *) xmalloc (max_regno * sizeof (char));
+ reg_next_in_qty = (int *) xmalloc(max_regno * sizeof (int));
/* Allocate the reg_renumber array */
allocate_reg_info (max_regno, FALSE, TRUE);
@@ -406,6 +406,10 @@ local_alloc ()
alloca (0);
#endif
}
+
+ free (reg_qty);
+ free (reg_offset);
+ free (reg_next_in_qty);
}
/* Depth of loops we are in while in update_equiv_regs. */