Skip to content

Commit 2b87167

Browse files
Sunrisepeakclaude
andcommitted
openkal measurement: the pinned graph declares [c-abi] for the first time
tests/openkal/pins.toml moved `runtime` from 0.10.0 to 0.12.0. Below that version no package the pin resolves declares a `[c-abi]` block, so mcpp realises nothing for the target side and the Windows leg compiles as x86_64-w64-windows-gnu with `_WIN32` defined --- the condition every `#ifdef _WIN32` branch in the measured members selects on. Every Windows result recorded under 0.10.0 therefore measures the behaviour the declaration exists to replace rather than the declaration. The descriptors for both packages were already registered (#441, #442) and their two mirrors compared byte for byte before this move: openkal-musl 0.16.0 and openkal-llvm-runtime 0.12.0 each answer the same sha256 from the GitHub archive and the GitCode asset. Co-authored-by: Claude Code <noreply@anthropic.com>
1 parent 324cabe commit 2b87167

1 file changed

Lines changed: 16 additions & 10 deletions

File tree

‎tests/openkal/pins.toml‎

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# `runtime` is the C++ runtime for openkal; it pins openkal-musl exactly, and
55
# openkal-musl selects the openkal implementation for each target, so this one
66
# version names the whole graph.
7-
runtime = "0.10.0"
7+
runtime = "0.12.0"
88
toolchain = "llvm@22.1.8"
99
# `mcpp` here moves together with index.toml's `min_mcpp` and
1010
# .github/workflows/openkal-compat.yml's own MCPP_VERSION (that workflow
@@ -18,15 +18,21 @@ toolchain = "llvm@22.1.8"
1818
# index requires mcpp >= 2026.9.18.1 but this is mcpp 2026.9.17.3 [E0006]"
1919
# before a single line of the member's own source is read.
2020
#
21-
# `runtime` does NOT move here: openkal-llvm-runtime 0.11.0 (the version that
22-
# actually declares/consumes `[c-abi]`) is not published yet -- see the note
23-
# in pkgs/o/openkal-llvm-runtime.lua. Bumping `mcpp` alone, ahead of it,
24-
# changes nothing observable today: no package this pin resolves declares
25-
# `[c-abi]`. Verified locally (not merely asserted): a full run of every
26-
# member listed below against x86_64-linux-gnu, under 2026.9.18.1, reproduces
27-
# the checked-in baseline exactly -- same 27 runs / 3 fails, same three
28-
# members (expat, curl, cmp-module), same diagnostics character-for-character
29-
# past the local path prefix.
21+
# `runtime` MOVES HERE NOW, AND UNTIL IT DID THE WINDOWS LEG MEASURED A GRAPH
22+
# WITH NO `[c-abi]` IN IT. openkal-llvm-runtime 0.12.0 (openkal-musl 0.16.0,
23+
# openkal 0.14.0) is the first pinned graph in which a package declares the
24+
# block, so it is the first in which mcpp realises `presents = "posix"` at all:
25+
# below it the Windows target compiles as `x86_64-w64-windows-gnu` with `_WIN32`
26+
# defined, which is the condition every `#ifdef _WIN32` branch in the measured
27+
# members selects on. A result taken under 0.10.0 therefore says nothing about
28+
# the declaration -- it measures the behaviour the declaration exists to
29+
# replace. mcpp-community/mcpp#674 was opened against results of that shape.
30+
#
31+
# The two mirrors of both packages were compared byte for byte before this
32+
# move (GLOBAL archive against the GitCode asset, sha256 equal for
33+
# openkal-musl 0.16.0 and openkal-llvm-runtime 0.12.0), because a pin that
34+
# moves onto an unreachable or divergent asset fails every member at once and
35+
# reports it as a compatibility result.
3036
mcpp = "2026.9.18.3"
3137

3238
targets = ["x86_64-linux-gnu", "x86_64-windows-gnu"]

0 commit comments

Comments
 (0)