On 06/06/25 20:28 +0100, Jonathan Wakely wrote:
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?
Yeah, I think they're still needed, but the comment should be changed
to refer to a different header.
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