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: Adjust dg-skip-if comment.
        * g++.dg/modules/xtreme-header-2_b.C: Likewise.
        * g++.dg/modules/xtreme-header.h: Do not include <execution>.
---

v2: keep the dg-skip-if directives by adjust their comments.

 gcc/testsuite/g++.dg/modules/xtreme-header-2.h   | 1 -
 gcc/testsuite/g++.dg/modules/xtreme-header-2_a.H | 2 +-
 gcc/testsuite/g++.dg/modules/xtreme-header-2_b.C | 2 +-
 gcc/testsuite/g++.dg/modules/xtreme-header.h     | 1 -
 4 files changed, 2 insertions(+), 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..826c2190b36a 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,5 @@
 // { dg-additional-options -fmodule-header }
-// { dg-skip-if "requires hosted libstdc++ for execution in xtreme-header-2.h" 
{ ! hostedlib } }
+// { dg-skip-if "requires hosted libstdc++ for several headers 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..111b0399305c 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,5 @@
 // { dg-additional-options "-fmodules-ts -fno-module-lazy" }
-// { dg-skip-if "requires hosted libstdc++ for execution in xtreme-header-2.h" 
{ ! hostedlib } }
+// { dg-skip-if "requires hosted libstdc++ for several headers 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

Reply via email to