summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorhainque <hainque@138bc75d-0d04-0410-961f-82ee72b054a4>2003-10-15 17:24:44 +0000
committerhainque <hainque@138bc75d-0d04-0410-961f-82ee72b054a4>2003-10-15 17:24:44 +0000
commitf0873ccc00cf73b81a5267f3eb78eb4cb3a9ab39 (patch)
treeaa25047fd77abafb80dca767d9b4f7418f43c3e3 /gcc
parent8dfc10f1868767ccb079767769a6bc8d5996f8cb (diff)
downloadgcc-f0873ccc00cf73b81a5267f3eb78eb4cb3a9ab39.tar.gz
* genmodes.c (calc_wider_mode): Allocate enough room for all the
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/genmodes.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c4e9d357151..41b0ead0728 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/genmodes.c b/gcc/genmodes.c
index f9d48290015..127392cf5a5 100644
--- a/gcc/genmodes.c
+++ b/gcc/genmodes.c
@@ -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++)
{