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
{{ message }}
Repository navigation
[Feature] 统一 Windows MSVC ABI 的 CRT 选择,支持普通 clang++ 并同步标准库 BMI #718
Completed across two releases; closing with the readings.
2026.9.28.1 (#727) implemented the CRT model on the MSVC ABI for every driver: cl spells it /MD or /MT, clang++ -fms-runtime-lib=dll or static, and the one resolved choice reaches compilation, the std and std.compat BMIs (whose cache identity includes it) and the link (behaviours 1 to 3). cxx_runtime and linkage state it, with no new key; a hand-written CRT word that agrees is warned as redundant, one that contradicts is refused, a dependency's contradicting word is refused, and the debug words are refused, since the model has no debug axis (4, 5). Non-MSVC targets receive no MSVC word (4).
2026.9.28.2 (#730, #731) completes behaviour 6, the runtime facts, the placement and the packing. One resolver (mcpp.build.runtime_placement, SPEC-006 §3.7.1) decides the files beside a Windows program: the MSVC C++ runtime is one versioned set, the toolset's unless a complete, strictly newer set is offered; a dependency's copy is stated once as a packaging fault; the contract governs whether the set is carried. The plan, the post-link placement and mcpp pack read that one answer, and resolution.json records it. Every action of an MSVC-ABI build runs with the toolset's runtime first on PATH, so Qt's tools start from a payload that carries no runtime of its own (xim:qt-base 6.11.1 revision 1, openxlings/xim-pkgindex#898).
Readings on GalTranslPP (Windows, llvm@22.1.8 over MSVC 14.51.36231):
the release canary with the 2026.9.28.2 candidate: 4 of 4 commands held (build, run, two packs);
the same without the hand-written dialect_cxxflags = ["-fms-runtime-lib=dll"] in its five manifests (run 36378870254): success, no redundancy warning, and the packages carry MSVCP140* and VCRUNTIME140* beside the programs, so the model alone chose the dynamic CRT.
Behaviour 7 (prebuilt external libraries must match the chosen CRT) is documented in docs/20. The record is .agents/docs/2026-09-28-ecosystem-design-and-optimisation-plan.md §8.
Activity
T8 (#718 W9): the CRT model is a property of the MSVC ABI, not of cl.exe
docs(50): the refusal token msvc-redist-unavailable (#718)
review: the round's CI failures and the three review angles
2026.9.28.1: eight reports (#717, #718, #720, #722-#726), one downloa…
build: drop the hand-written -fms-runtime-lib=dll; mcpp's CRT model s…
speak-agent commentedon Sep 28, 2026
Completed across two releases; closing with the readings.
2026.9.28.1 (#727) implemented the CRT model on the MSVC ABI for every driver:
clspells it/MDor/MT, clang++-fms-runtime-lib=dllorstatic, and the one resolved choice reaches compilation, the std and std.compat BMIs (whose cache identity includes it) and the link (behaviours 1 to 3).cxx_runtimeandlinkagestate it, with no new key; a hand-written CRT word that agrees is warned as redundant, one that contradicts is refused, a dependency's contradicting word is refused, and the debug words are refused, since the model has no debug axis (4, 5). Non-MSVC targets receive no MSVC word (4).2026.9.28.2 (#730, #731) completes behaviour 6, the runtime facts, the placement and the packing. One resolver (
mcpp.build.runtime_placement, SPEC-006 §3.7.1) decides the files beside a Windows program: the MSVC C++ runtime is one versioned set, the toolset's unless a complete, strictly newer set is offered; a dependency's copy is stated once as a packaging fault; the contract governs whether the set is carried. The plan, the post-link placement andmcpp packread that one answer, andresolution.jsonrecords it. Every action of an MSVC-ABI build runs with the toolset's runtime first onPATH, so Qt's tools start from a payload that carries no runtime of its own (xim:qt-base6.11.1 revision 1, openxlings/xim-pkgindex#898).Readings on GalTranslPP (Windows, llvm@22.1.8 over MSVC 14.51.36231):
dialect_cxxflags = ["-fms-runtime-lib=dll"]in its five manifests (run 36378870254): success, no redundancy warning, and the packages carryMSVCP140*andVCRUNTIME140*beside the programs, so the model alone chose the dynamic CRT.Behaviour 7 (prebuilt external libraries must match the chosen CRT) is documented in docs/20. The record is
.agents/docs/2026-09-28-ecosystem-design-and-optimisation-plan.md§8.