diff options
-rw-r--r-- | libstdc++-v3/ChangeLog | 5 | ||||
-rw-r--r-- | libstdc++-v3/include/parallel/multiway_mergesort.h | 3 |
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++) |