Including <execution> behaves differently depending on whether you have the TBB headers installed or not. Without them installed, the modules tests PASS, but with TBB headers installed they FAIL with:
gcc/testsuite/g++.dg/modules/xtreme-header-2_a.H: internal compiler error: in core_vals, at cp/module.cc:6631 This seems likely to be due to use of the optimize pragma or attribute in TBB headers. Remove <execution> from those tests, so that they behave consistently for everybody, and don't fail for people (like me) who routinely test with TBB headers installed so that libstdc++ PSTL is thoroughly tested. gcc/testsuite/ChangeLog: * g++.dg/modules/xtreme-header-2.h: Do not include <execution>. * g++.dg/modules/xtreme-header-2_a.H: Remove dg-skip-if. * g++.dg/modules/xtreme-header-2_b.C: Remove dg-skip-if. * g++.dg/modules/xtreme-header.h: Do not include <execution>. --- Tested x86_64-linux. OK for trunk? I'm not sure if removing the dg-skip-if lines is correct, there might be other headers that require hostedlib and <execution> was just the first one that was noticed? gcc/testsuite/g++.dg/modules/xtreme-header-2.h | 1 - gcc/testsuite/g++.dg/modules/xtreme-header-2_a.H | 1 - gcc/testsuite/g++.dg/modules/xtreme-header-2_b.C | 1 - gcc/testsuite/g++.dg/modules/xtreme-header.h | 1 - 4 files changed, 4 deletions(-) diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-2.h b/gcc/testsuite/g++.dg/modules/xtreme-header-2.h index dfe94aa6988e..fb5b1d033504 100644 --- a/gcc/testsuite/g++.dg/modules/xtreme-header-2.h +++ b/gcc/testsuite/g++.dg/modules/xtreme-header-2.h @@ -1,7 +1,6 @@ // Everything that transitively includes <ranges> #include <algorithm> -#include <execution> #include <functional> #include <future> #include <memory> diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-2_a.H b/gcc/testsuite/g++.dg/modules/xtreme-header-2_a.H index a52fefdae0ab..217ead37d254 100644 --- a/gcc/testsuite/g++.dg/modules/xtreme-header-2_a.H +++ b/gcc/testsuite/g++.dg/modules/xtreme-header-2_a.H @@ -1,5 +1,4 @@ // { dg-additional-options -fmodule-header } -// { dg-skip-if "requires hosted libstdc++ for execution in xtreme-header-2.h" { ! hostedlib } } // { dg-module-cmi {} } #include "xtreme-header-2.h" diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-2_b.C b/gcc/testsuite/g++.dg/modules/xtreme-header-2_b.C index b7ff864ac132..1f608ec29b79 100644 --- a/gcc/testsuite/g++.dg/modules/xtreme-header-2_b.C +++ b/gcc/testsuite/g++.dg/modules/xtreme-header-2_b.C @@ -1,5 +1,4 @@ // { dg-additional-options "-fmodules-ts -fno-module-lazy" } -// { dg-skip-if "requires hosted libstdc++ for execution in xtreme-header-2.h" { ! hostedlib } } #include "xtreme-header-2.h" import "xtreme-header-2_a.H"; diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header.h b/gcc/testsuite/g++.dg/modules/xtreme-header.h index 3147aaf00f44..2faacd41643f 100644 --- a/gcc/testsuite/g++.dg/modules/xtreme-header.h +++ b/gcc/testsuite/g++.dg/modules/xtreme-header.h @@ -17,7 +17,6 @@ #include <cwctype> #include <deque> #include <exception> -#include <execution> #include <filesystem> #include <forward_list> #include <fstream> -- 2.49.0