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
# NOTE: Windows runners may have g++.exe (MinGW/Strawberry) in PATH# but it's not a proper mcpp-compatible GCC. Don't add gcc capability.# macOS g++ is Apple Clang, not real GCC — don't add gcc capability.
⇒ [build] module_extensions 只在 Linux 上被测过(那里覆盖了 GCC 与 Clang 两条腿)。
Activity
docs: 七个 issue(#412 #415 #416 #417 #418 #421 #422)的逐条核实与修复方案
fix(msvc,manifest,docs): #421-A #412-1 #412-2 #422 #418; bump to 2026…
test(e2e): #412-3 — module_extensions on the platform's default toolc…
feat(bench): cross-platform benchmark suite, and the defects it expos…
speak-agent commentedon Aug 31, 2026
三条都已处理,随 2026.8.15.1(commit
c459cf2)发布 —— 关闭得晚了,补记在此。1. 那句劝退用户的假 note —— 已删。
src/toolchain/lifecycle.cppm里不再有 "native MSVC (cl.exe) is not yet supported"。issue 给的两条判据都复核过:构建路径里没有 MSVC 的门,tests/e2e/99_msvc_native_build.sh断言的是一次完整的原生模块构建并产出.ifc。2. e2e 95 的头注释与自身断言矛盾 —— 已删掉那一行。
tests/e2e/95_msvc_system_toolchain.sh现在的头注释只描述它真正断言的东西:msvc@system 的探测、选择、toolchain list的 System 段、版本化 msvc spec 不是这个来源、以及 mcpp 从不接管机器上的 VS。3. 覆盖缺口 —— 新增
tests/e2e/236_module_extensions_default_toolchain.sh。第三条没有按「把 217 的
# requires: gcc去掉」来修,因为run_all.sh拒绝在 Windows / macOS 上授予gcc的两条理由都成立(那两台上的g++分别是 MinGW/Strawberry 与 Apple Clang)。236 是一个不申请任何 capability 的独立文件,用平台默认工具链跑 —— Windows 上是 MSVC、macOS 上是 LLVM、Linux 上是 GCC —— 所以它到得了 217 到不了的那两条腿,其中就包括「声明.ixx并用 MSVC 构建它」这个真实的移植路径。236 的头注释把这个理由写在文件里了,并点名它是 #272 的同一形状:那次
# requires: elf gcc意味着 Clang 与 MSVC 两条腿从未被跑到。