OSDN Git Service

* genmodes.c (calc_wider_mode): Allocate enough room for all the
authorhainque <hainque@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 15 Oct 2003 17:24:44 +0000 (17:24 +0000)
committerhainque <hainque@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 15 Oct 2003 17:24:44 +0000 (17:24 +0000)
entries we'll possibly assign in the sort buffer.

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

gcc/ChangeLog
gcc/genmodes.c

index c4e9d35..41b0ead 100644 (file)
@@ -1,3 +1,8 @@
+2003-10-15  Olivier Hainque  <hainque@act-europe.fr>
+
+       * genmodes.c (calc_wider_mode): Allocate enough room for all the
+       entries we'll possibly assign in the sort buffer.
+       
 2003-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * config.gcc (s390x-ibm-tpf*): New target.
index f9d4829..127392c 100644 (file)
@@ -587,7 +587,9 @@ calc_wider_mode (void)
   for (c = 0; c < MAX_MODE_CLASS; c++)
     max_n_modes = MAX (max_n_modes, n_modes[c]);
 
-  sortbuf = alloca (max_n_modes * sizeof (struct mode_data *));
+  /* Allocate max_n_modes + 1 entries to leave room for the extra null
+     pointer assigned after the qsort call below.  */
+  sortbuf = alloca ((max_n_modes + 1) * sizeof (struct mode_data *));
 
   for (c = 0; c < MAX_MODE_CLASS; c++)
     {