OSDN Git Service

* except.c (find_exception_handler_labels): Use xmalloc instead of
authorbrendan <brendan@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 15 Sep 1997 19:07:05 +0000 (19:07 +0000)
committerbrendan <brendan@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 15 Sep 1997 19:07:05 +0000 (19:07 +0000)
alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
in some cases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15452 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/except.c

index 2566800..7d5badd 100644 (file)
@@ -1,3 +1,9 @@
+1997-09-15  Brendan Kehoe  <brendan@cygnus.com>
+
+       * except.c (find_exception_handler_labels): Use xmalloc instead of
+       alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
+       in some cases.
+
 Sun Sep 14 21:01:23 1997  Jeffrey A Law  (law@cygnus.com)
 
        * Makefile.in: Various changes to build info files
index 32b16b2..1e77fd8 100644 (file)
@@ -1748,7 +1748,10 @@ find_exception_handler_labels ()
 
   /* Generate a handy reference to each label.  */
 
-  labels = (rtx *) alloca ((max_labelno - min_labelno) * sizeof (rtx));
+  /* We call xmalloc here instead of alloca; we did the latter in the past,
+     but found that it can sometimes end up being asked to allocate space
+     for more than 1 million labels.  */
+  labels = (rtx *) xmalloc ((max_labelno - min_labelno) * sizeof (rtx));
   bzero ((char *) labels, (max_labelno - min_labelno) * sizeof (rtx));
 
   /* Arrange for labels to be indexed directly by CODE_LABEL_NUMBER.  */