[PATCH][libstdc++-v3 parallel mode] Fix parallel functions not called by default

Johannes Singler singler@ira.uka.de
Tue Feb 3 13:53:00 GMT 2009


The first patch fixes a bug that made some functions being exectued
sequentially by default, although _GLIBCXX_PARALLEL was switched on.
It dates back to this thread:

<http://gcc.gnu.org/ml/libstdc++/2008-09/msg00116.html>

The second patch fixes regressions that came up because of the better
test coverage due to the first patch.  The bugs were there before.  And
overall, only the experimental parallel mode is affected, there is no
change for the normal case.

Tested x86_64-unknown-linux-gnu: No regressions

Please approve for mainline and gcc-4_3-branch.  I know that GCC 4.4
currently is in a late stage, but this patch is important for the
parallel mode, and it only affects an experimental part.
In case of approval, commit together or separate?

2009-02-03  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/algorithmfwd.h:
          Add parallelism default for many declarations.
        * include/parallel/numericfwd.h: Likewise.


2009-02-03  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/iterator.h: Use iterator_traits as usual.
        * include/parallel/par_loop.h:
          Include equally_split.h.
          (for_each_template_random_access_ed)
          Avoid calling the Result default constructor.
        * include/parallel/numeric: Replace
          for_each_template_random_access by
          for_each_template_random_access_ed in numeric functions.

Johannes

-------------- next part --------------
A non-text attachment was scrubbed...
Name: default_parallel_balanced_1.patch
Type: text/x-patch
Size: 4969 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20090203/39859a29/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: default_parallel_balanced_2.patch
Type: text/x-patch
Size: 4537 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20090203/39859a29/attachment-0001.bin>


More information about the Libstdc++ mailing list