https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97549
Bug ID: 97549 Summary: include/pstl rebase breaking <execution> Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: nathan at gcc dot gnu.org Target Milestone: --- I'm seeing compilation errors of a file that just contains: #include <execution> following * e957b86ca26 2020-10-21 | libstdc++: Rebase include/pstl to current upstream [Thomas Rodgers] /data/users/nathans/me/r-e957b86ca26/obj/x86_64/gcc/testsuite/g++/../../xg++ -B/data/users/nathans/me/r-e957b86ca26/obj/x86_64/gcc/testsuite/g++/../../ -g -I/data/users/nathans/me/r-e957b86ca26/src/gcc/testsuite/../../libsanitizer/include -fdiagnostics-plain-output -nostdinc++ -I/data/users/nathans/me/r-e957b86ca26/obj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu -I/data/users/nathans/me/r-e957b86ca26/obj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include -I/data/users/nathans/me/r-e957b86ca26/src/libstdc++-v3/libsupc++ -I/data/users/nathans/me/r-e957b86ca26/src/libstdc++-v3/include/backward -I/data/users/nathans/me/r-e957b86ca26/src/libstdc++-v3/testsuite/util -fmessage-length=0 -O2 -L/data/users/nathans/me/r-e957b86ca26/obj/x86_64/x86_64-pc-linux-gnu/./libstdc++-v3/src/.libs -B/data/users/nathans/me/r-e957b86ca26/obj/x86_64/x86_64-pc-linux-gnu/./libstdc++-v3/src/.libs -L/data/users/nathans/me/r-e957b86ca26/obj/x86_64/x86_64-pc-linux-gnu/./libstdc++-v3/src/.libs -B/data/users/nathans/me/r-e957b86ca26/obj/x86_64/x86_64-pc-linux-gnu/./libitm/ -L/data/users/nathans/me/r-e957b86ca26/obj/x86_64/x86_64-pc-linux-gnu/./libitm/.libs -lm -c xtreme-header-2_a.C In file included from /data/users/nathans/me/r-e957b86ca26/src/libstdc++-v3/include/pstl/parallel_backend.h:14, from /data/users/nathans/me/r-e957b86ca26/src/libstdc++-v3/include/pstl/algorithm_impl.h:22, from /data/users/nathans/me/r-e957b86ca26/obj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include/pstl/glue_execution_defs.h:50, from /data/users/nathans/me/r-e957b86ca26/obj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include/execution:32, from xtreme-header-2_a.C:5: /data/users/nathans/me/r-e957b86ca26/src/libstdc++-v3/include/pstl/parallel_backend_serial.h:134:25: error: '__serial' is not a namespace-name; did you mean '__internal'? In file included from /data/users/nathans/me/r-e957b86ca26/src/libstdc++-v3/include/pstl/algorithm_impl.h:22, from /data/users/nathans/me/r-e957b86ca26/obj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include/pstl/glue_execution_defs.h:50, from /data/users/nathans/me/r-e957b86ca26/obj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include/execution:32, from xtreme-header-2_a.C:5: /data/users/nathans/me/r-e957b86ca26/src/libstdc++-v3/include/pstl/parallel_backend.h:17:43: error: 'namespace __pstl::__par_backend = __pstl::__pstl::__serial_backend;' conflicts with a previous declaration In file included from /data/users/nathans/me/r-e957b86ca26/src/libstdc++-v3/include/pstl/parallel_backend.h:14, from /data/users/nathans/me/r-e957b86ca26/src/libstdc++-v3/include/pstl/algorithm_impl.h:22, from /data/users/nathans/me/r-e957b86ca26/obj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include/pstl/glue_execution_defs.h:50, from /data/users/nathans/me/r-e957b86ca26/obj/x86_64/x86_64-pc-linux-gnu/libstdc++-v3/include/execution:32, from xtreme-header-2_a.C:5: /data/users/nathans/me/r-e957b86ca26/src/libstdc++-v3/include/pstl/parallel_backend_serial.h:132:11: note: previous declaration 'namespace __pstl::__par_backend { }' ... more errors follow, it seems parallel_backend.h is being #included twice, with inconsistent settings of _PSTL_PAR_BACKEND_SERIAL and _PSTL_PAR_BACKEND_TBB am I missing something?