From 1d77fa53978457059fc591f35d70f25977651d2a Mon Sep 17 00:00:00 2001 From: Brendan Kehoe Date: Mon, 15 Sep 1997 19:07:05 +0000 Subject: [PATCH] except.c (find_exception_handler_labels): Use xmalloc instead of alloca... * 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. From-SVN: r15452 --- gcc/ChangeLog | 6 ++++++ gcc/except.c | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 256680010ba..7d5badd098a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +1997-09-15 Brendan Kehoe + + * 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 diff --git a/gcc/except.c b/gcc/except.c index 32b16b22fc3..1e77fd86066 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -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. */