Repository navigation
mcppls-clangd 0.0.12: 25 steady topic patches, linux-arm64 at the Ubuntu 20.04 floor - #2
Merged
Merged
Conversation
Sunrisepeak
force-pushed
the
release/0.0.12-joint
branch
from
October 7, 2026 06:10
9916909 to
85be335
Compare
…guage-server 0.0.12 ships The 0.0.12 engine was developed as 74 incremental patches. They are regrouped into 25 topic patches (module validation memo, prerequisite DAG, dependency scan memo, compiler workers, owned payloads, preamble policy, selective completion loading, ...) whose patched tree is byte-identical to the incremental series (a2e92ba00e6666eaa5d1f975a4bd65b80537dbab, checked by applying both). Every multi-change patch lists the changes it combines; patches/HISTORY.md maps the incremental numbers older notes use. The ledger gives every patch its register rows (the filename's row first), an executable test map and a drop condition, and defines steady: the series builds on every release platform, its mapped tests pass, the Ubuntu 20.04 floor package passes its runtime controls. verify-series now runs the release ledger check, so a draft patch cannot reach a tag. linux-arm64 is built again, at the same Ubuntu 20.04 / Clang 12 floor as linux-x64 (pinned arm64 rootfs), in build-test and in the release; the Linux e2e controls run on both architectures. Raw evidence (3212 files) and the incremental patches move to the evidence-0.0.12 release archive; ci/check_tree.py refuses tracked files above 1 MiB, generated module/object files and home-directory paths. The full incremental history is kept in the archive/0.0.12-joint branch.
Sunrisepeak
force-pushed
the
release/0.0.12-joint
branch
from
October 9, 2026 06:52
61ea393 to
e261bbe
Compare
…ot target macro tables On x86_64-pc-windows-msvc the empty-prefix comparison differed in macros only visible from a preamble (__STDC__). Macros and keywords come from the preprocessor and language options, not from the external name lookup the selective loading changes; the test now compares every declaration result and nothing else. No non-test file changes.
The empty pattern selects no names, so it runs the ordinary external lookup, and on x86_64-pc-windows-msvc a textual TU then also lists the target's predeclared size_t and type_info and macros a preamble does not offer. That is upstream behavior the selective loading does not touch; the comparison is restricted to the header's declarations there. Every non-empty pattern keeps the full comparison.
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.
The engine mcpp-language-server 0.0.12 ships: llvm-project 23.1.0 plus 25 topic patches, built for linux-x64, linux-arm64, darwin-arm64 and win32-x64.
What changed
a2e92ba00e6666eaa5d1f975a4bd65b80537dbab, checked by applying both series). Each multi-change patch lists the changes it combines.patches/HISTORY.mdmaps the old numbers.steady. The ledger defines steady as: the series builds on every release platform, the patch's mapped tests pass, and the Ubuntu 20.04 floor package passes its runtime controls.verify-seriesnow runscheck_ledger.py --release, so a draft patch cannot reach a tag. A ledger row may list several register rows; the filename names the first one.fcd7f696…). It runs inbuild-testand in the release, and the Linux e2e controls run on both architectures.evidence-0.0.12release archive (tests/evidence/README.md).ci/check_tree.pyrefuses tracked files above 1 MiB, generated.pcm/.pch/.ofiles and home-directory paths.23.1.0-mcppls.0. ChangingLLVM_VERSION_SUFFIXwould rebuild nearly all of LLVM on every platform. mcpp-language-server pins the engine by binary SHA-256 and by theengine.jsonsource identity, not by the version string.Review guide
patches/PATCHES.md: ledger and the definition of steady.patches/0001…0025: the series.ci/check_ledger.py,ci/check_tree.py,ci/test_release_gates.py: release gates..github/workflows/{build-test,release,verify-series}.ymland.github/actions/linux-floor: platforms.The full incremental history is kept in the
archive/0.0.12-jointbranch. Companion product PR: Sunrisepeak/mcpp-language-server#46