You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Target release: the next release. Goal: supported Windows compiler hosts and generated programs use MSVC on amd64 and ARM64, and active Windows build/release/runtime paths no longer require GNU/MinGW.
Audit baseline: master 3950416e, 2026-09-12. This is a migration plan based on current code and existing reports, not a claim that every validation gap is a reproduced compiler bug.
Explicit MSVC targets, COFF linking, and transactional DLL/import-library/PDB publication already exist. Native ARM64 host CRT/message ownership was repaired in #493. Remaining work spans native amd64 host provisioning, reliable SDK/runtime resolution, executable ABI proof, and release independence. Building the compiler with MSVC alone is not completion: the current Windows output default is GNU.
This tracker coordinates focused work; it does not duplicate the original host-build report #292, output-target umbrella #498, or Windows provider umbrella #385. The earlier instruction in #498 to retain GNU applies while prerequisites are being built. The new release goal authorizes a final removal only after the gates below pass.
Difficulty is an estimate of ABI/runtime risk and required expertise, not a severity label. The five very-high tasks involve native executable evidence across calling conventions, startup, stack behavior, or module ownership; some correct code may only need stronger tests. First-contribution tasks have bounded scope and no ABI redesign.
Provider gaps are existing Windows correctness work, not evidence that changing the Rust toolchain fixes them. Native MSVC execution must cover the APIs advertised for this release. Broader new platform APIs can remain separate follow-up work when they are not required for that supported surface.
Complete native x64/ARM64 ABI, ordinary startup, DLL and large-frame/unwind validation. Extend the full existing case suites to explicit MSVC execution without deleting or duplicating their workloads.
Build native MSVC release archives, validate extracted artifacts in controlled Windows environments, and switch the native default only once required execution gates pass.
Remove Windows GNU registrations, fallback/discovery code, CI provisioning and package inputs in the final retirement issue. Unsupported old triples get actionable migration errors. Gate release on MSVC-only Windows results.
Exit criteria:
Both compiler host architectures and generated program architectures are verified as native, and the enabled LLVM backends are explicit.
Native cases and ABI/runtime checks pass; skipped execution or object-only success does not substitute for required native results.
The distributed compiler/tools and ordinary generated programs work with the stated Windows prerequisites, with no MinGW payloads or hidden GNU runtime/tool dependencies.
No silent fallback to GNU occurs, and the active Windows target list/build/release paths are MSVC-only after cutover.
Preserve non-Windows GNU support and Linux LoongArch64. Preserve meaningful tests by adapting them before removing obsolete harness paths.
Continue using native Windows OS APIs in std/sys; this migration does not authorize replacing those providers with libc wrappers. Compiler/LLVM CRT dependencies are handled separately from the Wave standard-library API layer.
Each child issue owns an independently reviewable outcome with evidence, completion criteria and dependencies. This task creates issues only; implementation and release cutover happen in subsequent work.
Target release: the next release. Goal: supported Windows compiler hosts and generated programs use MSVC on amd64 and ARM64, and active Windows build/release/runtime paths no longer require GNU/MinGW.
Audit baseline: master 3950416e, 2026-09-12. This is a migration plan based on current code and existing reports, not a claim that every validation gap is a reproduced compiler bug.
Explicit MSVC targets, COFF linking, and transactional DLL/import-library/PDB publication already exist. Native ARM64 host CRT/message ownership was repaired in #493. Remaining work spans native amd64 host provisioning, reliable SDK/runtime resolution, executable ABI proof, and release independence. Building the compiler with MSVC alone is not completion: the current Windows output default is GNU.
This tracker coordinates focused work; it does not duplicate the original host-build report #292, output-target umbrella #498, or Windows provider umbrella #385. The earlier instruction in #498 to retain GNU applies while prerequisites are being built. The new release goal authorizes a final removal only after the gates below pass.
Difficulty is an estimate of ABI/runtime risk and required expertise, not a severity label. The five very-high tasks involve native executable evidence across calling conventions, startup, stack behavior, or module ownership; some correct code may only need stronger tests. First-contribution tasks have bounded scope and no ABI redesign.
First contributions
Medium difficulty
High difficulty
Very high difficulty
Reuse existing work
Provider gaps are existing Windows correctness work, not evidence that changing the Rust toolchain fixes them. Native MSVC execution must cover the APIs advertised for this release. Broader new platform APIs can remain separate follow-up work when they are not required for that supported surface.
Order and release gates
Exit criteria:
Each child issue owns an independently reviewable outcome with evidence, completion criteria and dependencies. This task creates issues only; implementation and release cutover happen in subsequent work.