[Bug libstdc++/71856] _GLIBCXX_DEBUG-mode breaks GNU parallel extension
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71856 --- Comment #5 from Jonathan Wakely --- Author: redi Date: Wed Jul 13 17:22:57 2016 New Revision: 238307 URL: https://gcc.gnu.org/viewcvs?rev=238307=gcc=rev Log: libstdc++/71856 Define _GLIBCXX_PARALLEL_ASSERTIONS PR libstdc++/71856 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty. * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS): Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend on _GLIBCXX_ASSERTIONS. * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS. Include for sleep. * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS. * include/parallel/merge.h: Likewise. * include/parallel/multiway_merge.h: Likewise. * include/parallel/partition.h: Likewise. * include/parallel/queue.h: Likewise. * include/parallel/sort.h: Likewise. * testsuite/25_algorithms/headers/algorithm/ parallel_algorithm_assert.cc: New. Added: trunk/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_assert.cc Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/bits/c++config trunk/libstdc++-v3/include/parallel/balanced_quicksort.h trunk/libstdc++-v3/include/parallel/compiletime_settings.h trunk/libstdc++-v3/include/parallel/losertree.h trunk/libstdc++-v3/include/parallel/merge.h trunk/libstdc++-v3/include/parallel/multiway_merge.h trunk/libstdc++-v3/include/parallel/partition.h trunk/libstdc++-v3/include/parallel/queue.h trunk/libstdc++-v3/include/parallel/sort.h
[Bug libstdc++/71856] _GLIBCXX_DEBUG-mode breaks GNU parallel extension
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71856 --- Comment #4 from Michael Hamann --- Created attachment 38889 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38889=edit Test case, try compiling with g++ -D_GLIBCXX_DEBUG testcase.cpp Sorry for not including a test case, I thought from the description and the provided links the problem was clear enough but of course I should have known better. I've attached a minimal test case.
[Bug libstdc++/71856] _GLIBCXX_DEBUG-mode breaks GNU parallel extension
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71856 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-07-13 Ever confirmed|0 |1 --- Comment #3 from Jonathan Wakely --- Ah I see. A testcase would have helped clarify that, as requested by https://gcc.gnu.org/bugs
[Bug libstdc++/71856] _GLIBCXX_DEBUG-mode breaks GNU parallel extension
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71856 --- Comment #2 from Michael Hamann --- This is not about activating parallel mode, this is about using individual parallel algorithms by directly including e.g. and using the namespace __gnu_parallel explicitly. There I do not get the error you mention. Is this not supported, too?
[Bug libstdc++/71856] _GLIBCXX_DEBUG-mode breaks GNU parallel extension
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71856 --- Comment #1 from Jonathan Wakely --- You can't mix Debug Mode and Parallel Mode anyway. With previous versions you get In file included from /usr/include/c++/5.3.1/utility:68:0, from /usr/include/c++/5.3.1/algorithm:60, from par.cc:1: /usr/include/c++/5.3.1/x86_64-redhat-linux/bits/c++config.h:2092:4: error: #error illegal use of multiple inlined namespaces # error illegal use of multiple inlined namespaces ^ Now you get that followed by a cascade of other errors, which should be fixed, but you'll never be able to mix them.