Skip to content

chore: bump clang to v21#6086

Open
ggreif wants to merge 3 commits intomasterfrom
gabor/clang-21
Open

chore: bump clang to v21#6086
ggreif wants to merge 3 commits intomasterfrom
gabor/clang-21

Conversation

@ggreif
Copy link
Copy Markdown
Contributor

@ggreif ggreif commented May 5, 2026

Summary

Mechanical bump from clang/llvm 20 to 21 across the nix flake and the RTS Makefile. Same shape as PR #6009 (clang 19 → 20).

  • flake.nixWASM_CLANG, WASM_CLANG_LIB, CLANG
  • nix/rts.nix, nix/tests.nix, nix/ic-wasm.nixllvmPackages_20llvmPackages_21
  • rts/Makefile, rts/README.md, test/ld/Makefileclang-20/wasm-ld-20clang-21/wasm-ld-21
  • rustStdDepsHash unchanged (rust-nightly didn't move).

Test plan

  • CI green: tests, gc-tests, common-tests all pass with the v21 toolchain on linux and macOS runners.
  • nix build .#rts succeeds locally.
  • nix build .#tests.ld regenerates the same representative.linked.wat.ok (clang-21's wasm-ld may shift the golden — accept if so).

Draft until #6009 merges; converting + merge in a week.

🤖 Generated with Claude Code

@ggreif ggreif self-assigned this May 5, 2026
@ggreif ggreif changed the base branch from master to gabor/clang-20 May 5, 2026 20:50
@ggreif
Copy link
Copy Markdown
Contributor Author

ggreif commented May 5, 2026

Verified locally that the bump is fully transitive — no clang-19 or clang-20 references remain in the .#rts derivation closure. Concretely:

$ drv=$(nix eval --raw .#rts.drvPath)
$ nix-store --query --requisites "$drv" | grep -E 'clang-(wrapper-)?(19|20)'
(empty)

$ nix-store --query --requisites "$drv" | grep -E 'clang-(wrapper-)?21' | sort -u
.../clang-21.1.8.drv (×2)
.../clang-wrapper-21.1.8.drv (×10 bootstrap variants)

So the rts builds against clang-21.1.8 exclusively; nothing is pulling the old toolchain along behind the scenes via a transitive dependency.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2026

Comparing from dfc0a50 to deacd9f:
In terms of gas, 1 tests improved and the mean change is -0.0%.
In terms of size, 5 tests improved and the mean change is -0.0%.

Base automatically changed from gabor/clang-20 to master May 5, 2026 23:08
@ggreif ggreif force-pushed the gabor/clang-21 branch from 9d50d9d to f957ae7 Compare May 5, 2026 23:10
ggreif and others added 2 commits May 6, 2026 01:24
Mechanical \`llvmPackages_20\` → \`llvmPackages_21\`,
\`clang_20\` → \`clang_21\`, \`clang-20\`/\`wasm-ld-20\` →
\`clang-21\`/\`wasm-ld-21\`, across:

- \`flake.nix\` (\`WASM_CLANG\`, \`WASM_CLANG_LIB\`, \`CLANG\`)
- \`nix/rts.nix\`, \`nix/tests.nix\`, \`nix/ic-wasm.nix\`
- \`rts/Makefile\`, \`rts/README.md\`, \`test/ld/Makefile\`

\`rustStdDepsHash\` unchanged (no rust-nightly move).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ggreif ggreif force-pushed the gabor/clang-21 branch from f957ae7 to bf5e5a0 Compare May 5, 2026 23:25
@ggreif ggreif marked this pull request as ready for review May 6, 2026 08:13
@ggreif ggreif requested a review from a team as a code owner May 6, 2026 08:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant