aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Bangerth <bangerth@dealii.org>2007-10-09 15:51:06 -0600
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2007-10-09 21:51:06 +0000
commitc891154fad7db61b15121ca9b80efcf95d0ff291 (patch)
treee28913f5d090c82f96d8d40da01a0145bbfd4095
parent3c8b6c602eac0271355e27d27f98894e73bbcef6 (diff)
downloadgcc-c891154fad7db61b15121ca9b80efcf95d0ff291.zip
gcc-c891154fad7db61b15121ca9b80efcf95d0ff291.tar.gz
gcc-c891154fad7db61b15121ca9b80efcf95d0ff291.tar.bz2
PR libstdc++/33485 continued.
2007-10-09 Wolfgang Bangerth <bangerth@dealii.org> PR libstdc++/33485 continued. * include/parallel/multiway_mergesort.h: Use __builtin_alloca. From-SVN: r129182
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/include/parallel/multiway_mergesort.h3
2 files changed, 7 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index a36232f..7b96f32 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2007-10-09 Wolfgang Bangerth <bangerth@dealii.org>
+
+ PR libstdc++/33485 continued.
+ * include/parallel/multiway_mergesort.h: Use __builtin_alloca.
+
2007-10-09 Zhou Drangon <drangon.mail@gmail.com>
PR libstdc++/33682
diff --git a/libstdc++-v3/include/parallel/multiway_mergesort.h b/libstdc++-v3/include/parallel/multiway_mergesort.h
index 9cc0405..c1a07dc 100644
--- a/libstdc++-v3/include/parallel/multiway_mergesort.h
+++ b/libstdc++-v3/include/parallel/multiway_mergesort.h
@@ -139,7 +139,8 @@ namespace __gnu_parallel
num_samples = Settings::sort_mwms_oversampling * d->num_threads - 1;
- difference_type es[num_samples + 2];
+ difference_type* es = static_cast<difference_type*>(__builtin_alloca(sizeof(difference_type) * (num_samples + 2)));
+
equally_split(sd->starts[d->iam + 1] - sd->starts[d->iam], num_samples + 1, es);
for (difference_type i = 0; i < num_samples; i++)