Skip to content

Working around Clang ICE happening when compiling the algorithm sender tests - #7371

Merged
hkaiser merged 1 commit into
masterfrom
clang_ice_workaround
Jul 12, 2026
Merged

Working around Clang ICE happening when compiling the algorithm sender tests#7371
hkaiser merged 1 commit into
masterfrom
clang_ice_workaround

Conversation

@hkaiser

@hkaiser hkaiser commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

All sender-based algorithm tests are forced into non-C++20 module mode when compiled using Clang. This will fix the Linux-based C++20 module CIs.

…r tests

Signed-off-by: Hartmut Kaiser <hartmut.kaiser@gmail.com>
@coderabbitai

coderabbitai Bot commented Jul 11, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 4327b40d-2f70-4a37-9b78-19429ac16e96

📥 Commits

Reviewing files that changed from the base of the PR and between f360e03 and 2704caf.

📒 Files selected for processing (1)
  • libs/core/algorithms/tests/unit/algorithms/CMakeLists.txt

📝 Walkthrough

Summary by CodeRabbit

  • Tests
    • Expanded the algorithm test suite to include all sender-related test variants.
    • Ensured sender tests use the appropriate configuration when building with Clang and C++ modules.

Walkthrough

The CMake configuration centralizes sender algorithm test names, includes them in the standard test list, and applies the Clang module compile definition to every sender test.

Changes

Sender algorithm test registration

Layer / File(s) Summary
Sender test list wiring
libs/core/algorithms/tests/unit/algorithms/CMakeLists.txt
Defines a shared sender_tests list, appends it to the main test list, and iterates over it for the conditional Clang module compile definition.

Estimated code review effort: 2 (Simple) | ~5 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the Clang ICE workaround for sender-based algorithm tests.
Description check ✅ Passed The description matches the change by noting all sender-based algorithm tests are forced out of C++20 module mode on Clang.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch clang_ice_workaround

Comment @coderabbitai help to get the list of available commands.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@StellarBot

Copy link
Copy Markdown
Collaborator
Performance test report

HPX Performance

Comparison

BENCHMARKFORK_JOIN_EXECUTORPARALLEL_EXECUTORSCHEDULER_EXECUTOR
For Each(=)(=)(=)

Info

PropertyBeforeAfter
HPX Commit0eeca86cb0f4af
HPX Datetime2026-03-09T14:08:29+00:002026-07-11T19:35:57+00:00
Hostnamemedusa08.rostam.cct.lsu.edumedusa08.rostam.cct.lsu.edu
Compiler/opt/apps/llvm/18.1.8/bin/clang++ 18.1.8/opt/apps/llvm/18.1.8/bin/clang++ 18.1.8
Envfile
Datetime2026-03-09T09:15:24.034803-05:002026-07-11T19:29:02.670277-05:00
Clusternamerostamrostam

Comparison

BENCHMARKNO-EXECUTOR
Future Overhead - Create Thread Hierarchical - Latch+++

Info

PropertyBeforeAfter
HPX Commit0eeca86cb0f4af
HPX Datetime2026-03-09T14:08:29+00:002026-07-11T19:35:57+00:00
Hostnamemedusa08.rostam.cct.lsu.edumedusa08.rostam.cct.lsu.edu
Compiler/opt/apps/llvm/18.1.8/bin/clang++ 18.1.8/opt/apps/llvm/18.1.8/bin/clang++ 18.1.8
Envfile
Datetime2026-03-09T09:17:15.638328-05:002026-07-11T19:31:05.833430-05:00
Clusternamerostamrostam

Comparison

BENCHMARKFORK_JOIN_EXECUTOR_DEFAULT_FORK_JOIN_POLICY_ALLOCATORPARALLEL_EXECUTOR_DEFAULT_PARALLEL_POLICY_ALLOCATORSCHEDULER_EXECUTOR_DEFAULT_SCHEDULER_EXECUTOR_ALLOCATOR
Stream Benchmark - Add(=)(=)--
Stream Benchmark - Scale(=)---
Stream Benchmark - Triad(=)---
Stream Benchmark - Copy(=)++++++

Info

PropertyBeforeAfter
HPX Commitba89f5dcb0f4af
HPX Datetime2026-03-09T18:50:37+00:002026-07-11T19:35:57+00:00
Hostnamemedusa08.rostam.cct.lsu.edumedusa08.rostam.cct.lsu.edu
Compiler/opt/apps/llvm/18.1.8/bin/clang++ 18.1.8/opt/apps/llvm/18.1.8/bin/clang++ 18.1.8
Envfile
Datetime2026-03-09T17:49:10.837937-05:002026-07-11T19:31:50.829986-05:00
Clusternamerostamrostam

Explanation of Symbols

SymbolMEANING
=No performance change (confidence interval within ±1%)
(=)Probably no performance change (confidence interval within ±2%)
(+)/(-)Very small performance improvement/degradation (≤1%)
+/-Small performance improvement/degradation (≤5%)
++/--Large performance improvement/degradation (≤10%)
+++/---Very large performance improvement/degradation (>10%)
?Probably no change, but quite large uncertainty (confidence interval with ±5%)
??Unclear result, very large uncertainty (±10%)
???Something unexpected…

@hkaiser
hkaiser merged commit a4b88cf into master Jul 12, 2026
93 of 105 checks passed
@hkaiser
hkaiser deleted the clang_ice_workaround branch July 12, 2026 00:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants