[tmp] 0.0.90 MSVC native build + dialect flags — Windows CI iteration#212
Closed
Sunrisepeak wants to merge 5 commits into
Closed
[tmp] 0.0.90 MSVC native build + dialect flags — Windows CI iteration#212Sunrisepeak wants to merge 5 commits into
Sunrisepeak wants to merge 5 commits into
Conversation
…ole module graph (#210) [build].cxxflags like -freflection change what libstdc++ headers DECLARE (<meta> is gated on __cpp_impl_reflection) — they are module-graph dialect, same nature as -std=. They now ride -std='s channels: the global $cxxflags (every TU incl. dependency modules — fixes the fmt.gcm-class secondary failure), the std/std.compat prebuild command, and scans. Known-list auto-promotion (reflection/contracts/char8_t/_GLIBCXX_USE_CXX11_ABI) + explicit [build] dialect_cxxflags escape hatch. The fingerprint already keyed these flags — only the command construction was missing them. Also: cppStandardFlag is now spelled per-dialect (std_flag_for — msvc /std:c++20 | /std:c++latest), groundwork for the native MSVC backend. Verified: issue #210's exact repro prints 'x 2 / y 3' via import std on gcc@16.1.0; e2e 98 covers both variants + std-module.json assertion.
- C1 env model: find_windows_sdk() + build_env_for_cl() synthesize INCLUDE/LIB/PATH/VSLANG=1033 from the detected VC tools + SDK (no vcvarsall run); enrich_toolchain_from_cl fills tc.envOverrides; missing SDK keeps detection working and fails the BUILD with guidance (replaces the 0.0.88 'not yet supported' gate — the gate is gone). - C2 emission: SeparateLinker rules (link.exe /OUT + rspfile — cmd's 8191 limit), lib.exe archives, /DLL+/IMPLIB shared, deps=msvc via /showIncludes, /interface /TP for .cppm module units, /std: mapping (std_flag_for), /MD|/MT CRT model, /Od, /nologo /EHsc /utf-8 baseline, .obj object extension end to end (plan objExt + std staging names). - C3 std/std.compat staging: single-cl commands (/ifcOutput), ifc.cache layout, registry-dispatched staged paths (clang hardcoding removed), stdmod executes with the toolchain env (capture_with_env). - C4 scanning: /scanDependencies as the third builtin P1689 producer (provider capability + ninja scan rule); dyndep ifc-parameterized as-is. - C8 fast path: '@env' multi-var encoding in the build cache env slot so incremental msvc builds re-create INCLUDE/LIB for ninja. - cd /d in std stage commands (cmd.exe won't change drive without it; D: workspace + C: BMI cache is the real CI layout). Zero-diff gate re-verified for GCC and LLVM vs the 0.0.89 release binary.
…rsion/docs - e2e 99 (requires: msvc): default msvc → modules build/run → import std → incremental; 95's build-gate assertion flips to a real build+run; the ci-windows MSVC step now drives 99. - mingw: windows-only guard with a clear message (was 'invalid xpkg target xim:mingw-gcc@'); e2e 97 objdump path unhardcoded; doctor gains Windows SDK + mingw sections. - release.yml publish-ecosystem timeout 20→30 (backstop for the fixed mirror script's worst case). - version 0.0.90 + CHANGELOG + docs/03 MSVC build section.
Member
Author
|
Green in one round (run 29245851464): e2e 53/0 incl. 99 native MSVC build (modules/import std/incremental), 95 flipped to real build, 97 mingw unchanged. Superseded by the real PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Temp iteration PR for 0.0.90 (MSVC native cl.exe backend + #210 dialect flags + polish). Only ci-windows.yml (+release.yml for e2e 45) kept. Do not merge.