Skip to content

fix(miopen): Build break with GCC 15. - #9642

Merged
ammallya merged 6 commits into
developfrom
users/benrichard-amd/miopen-gcc-15
Aug 12, 2026
Merged

ammallya merged 6 commits into
developfrom
users/benrichard-amd/miopen-gcc-15

Conversation

@benrichard-amd

@benrichard-amd benrichard-amd commented Jul 21, 2026 •

Copy link
Copy Markdown
Contributor

Part of ROCm/TheRock#5518

Motivation

Fix MIOpen build failure when compiling with clang++ against GCC 15's libstdc++ under C++20 mode. GCC 15's <ciso646> header emits a #warning that it is no longer a standard header since C++20, which becomes a fatal error due to MIOpen's -Werror flag.

Technical Details

Remove #include <ciso646> from projects/miopen/src/include/miopen/serializable.hpp.

<ciso646> defines alternative operator tokens (and, or, not, etc.) for C, but in C++ these are already language keywords — the include is a complete no-op. It was deprecated in C++17 and removed from the C++ standard in C++20.

The error surfaces when ROCm's clang++ uses GCC 15's libstdc++ as the host standard library since GCC 15 added a #warning to the header that fires under -std=c++20.

Test Plan

Build-only verification — the change is a no-op include removal with no effect on compiled output. CI tests confirm no regressions.

Test Result

MIOpen compiles successfully with the include removed.

Submission Checklist

<ciso646> is a no-op in C++ (the alternative operator tokens are already
keywords) and was removed from the standard in C++20. GCC 15 libstdc++
emits a #warning when it is included under -std=c++20, which becomes
fatal with -Werror.

Co-Authored-By: Claude <noreply@anthropic.com>
@benrichard-amd
benrichard-amd requested a review from a team as a code owner July 21, 2026 18:22
@therock-pr-bot

therock-pr-bot Bot commented Jul 21, 2026 •

Copy link
Copy Markdown

✅ All Checks Passed — Ready for Review

Check Status Details
📝 PR Description ✅ Pass —
⛔ Forbidden Files ✅ Pass —
🧪 Unit Test ⚠️ Warning Error: Source/code files changed without an accompanying unit test.
Expected: add at least one test file named like test_<name>.py / test_<name>.cpp (or <name>_test.*).
Current: code file(s) changed: projects/miopen/src/include/miopen/serializable.hpp; no test file found
🔎 pre-commit ✅ Pass —
🚫 Draft PR 🔜 To Be Enabled —
🚩 Feature Flag 🔜 To Be Enabled —
📊 Code Coverage 🔜 To Be Enabled —
🤖 therock-pr-bot ✅ Pass —

🎉 All checks passed! This PR is ready for review.

📖 Need help? See the Policy FAQ for details on every check and how to fix failures.

🙋 Wish to Override Policy?

@therock-pr-bot

therock-pr-bot Bot commented Jul 21, 2026 •

Copy link
Copy Markdown

🎉 All checks passed! This PR is ready for review.

@benrichard-amd

Copy link
Copy Markdown
Contributor Author

Hi @rocm/miopen-reviewers Can someone review this very trivial change? Thanks!

@BrianHarrisonAMD BrianHarrisonAMD left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@AmosLewis

AmosLewis commented Aug 10, 2026 •

Copy link
Copy Markdown
Contributor

Please fix the previous PR check:
Error: PR description must reference a JIRA ID, ISSUE ID, or a GitHub closing keyword.

one red is left, and it should be re-run before I bypass anything.

Check Keypoint
Windows gfx1151 / Test miopen (shard 3 of 4) Only red worth looking at. gtest aborted (0x80000003) in ConvWinoFuryRxSf2x3Find2Fused/102; shards 1/2/4 + miopenprovider passed, and this same shard passed Aug 7 on this same head e4935b3 → not your diff. Re-run just that job
Linux gfx94X / Configure test matrix Queued ~6h — repo-wide backlog, so the run reads queued, not running
therock-pr-bot No JIRA ID / ISSUE ID line in the description; only you can add it

If that shard goes green you won't need me: mergeStateStatus is BLOCKED, not UNSTABLE, so your
auto-merge fires by itself. I'll --admin only if every remaining red is known infra.

@ammallya
ammallya disabled auto-merge August 12, 2026 19:40
@ammallya
ammallya merged commit 2a2cb25 into develop Aug 12, 2026
155 of 169 checks passed
@ammallya
ammallya deleted the users/benrichard-amd/miopen-gcc-15 branch August 12, 2026 19:40
@ammallya

Copy link
Copy Markdown
Collaborator

CI passes, flaky windows test machine

JonathanLichtnerAMD added a commit that referenced this pull request Sep 2, 2026
## Summary

Backfills the **MIOpen 3.6.1 / ROCm 10.1.0** changelog section with
externally-visible changes that landed since the `release/therock-10.0`
branch but weren't yet documented. All 43 MIOpen commits in that range
were reviewed; CI/build-infra, test-only, docs, version-bump, and
already-documented changes were excluded.

21 entries added:

### Added
* [RNN] Fused single-layer LSTM forward-inference kernel, gated behind
`MIOPEN_DEBUG_RNN_FUSED_INFERENCE` (#8915)
* [Conv] Naive reference kernel enabling 3D INT8 forward convolution
(#10051)
* [Conv] `ConvHipConv` solver backed by vendored hipconv kernels (#9746)
* [Conv] float8 vector type support + deduplicated math kernels (#10130)
* [Conv] Validated gfx1151 and gfx1200 (Navi) SystemDBs (#10050)
* [Conv] `MIOPEN_DEBUG_DISABLE_SYSTEM_DB` /
`MIOPEN_DEBUG_DISABLE_USER_DB` env vars (#10728)
* [Conv] CK depthwise convolution on RDNA wave32 GPUs (#9373)

### Changed
* [Conv] Winograd Rage RxS f2x3 on gfx950 + gfx942 v4_6_1/v4_9_1 kernels
(#9014)
* [Conv] Updated 3D AI heuristics for gfx942 & gfx950 (#8954)

### Optimized
* [Conv] Single GEMM for point (1x1) output convolution, all directions,
2D/3D (#10912)
* [Conv] Naive backward-data kernel work group widened to 1024 (#10684)

### Resolved Issues
* [Conv] Batch-split miscalculation on large WrW tensors — ROCM-26011
(#11188)
* [Conv] Conv failure on XNACK-unsupported gfx9 APUs (gfx90c) (#11211)
* [BatchNorm] Device heap-overflow in fwd spatial `FinalMeanVariance` —
ALMIOPEN-2424 (#11093)
* [Conv] Deterministic `SetNextValue` polarity for grouped Bwd/Wrw CK
solvers (#10240)
* [LRN][LayerNorm] Grid alignment + OOB threads on gfx1250 (#10251)
* [Conv] Stale gfx950 grouped-wrw SystemDB entries (#11130)
* [Conv][Windows] System-DB path resolution from the MIOpen module
(#10838)
* [Conv] System-DB fallback so MI308X (gfx942) resolves a usable DB
(#8802)
* JSON perf logs (`MIOPEN_PERFORMANCE_LOGS`) dropping the last solver
during Find (#11166)
* Build failure against GCC 15 libstdc++ under C++20 (#9642)

## Notes

Deliberately excluded: internal/default-off changes (#10219, #10088,
#10649, #10231), a near-duplicate of an existing 10.0.0 entry (#10188),
and CI/build-infra/test-only/docs commits.

Docs-only change; no code impact.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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.

4 participants