Skip to content

Commit 9160739

Browse files
committed
pins move to mcpp 2026.9.21.2 and openkal-llvm-runtime 0.15.0
THE TWO MOVE TOGETHER BECAUSE THE MEASUREMENT IS ABOUT WHAT THE PAIR DOES. The engine withdraws `__CYGWIN__`. Four members of this suite --- archive (xz), sqlite3, mimalloc, c-ares --- stopped at `#include <windows.h>` reached through `#if defined(_WIN32) || defined(__CYGWIN__)`, and upstream means "Win32 is available" by that name. THIS MEASUREMENT IS THE CRITERION FOR THAT CHANGE: the `windows.h` group should reach zero, and nothing that ran before should stop running. `runtime` -> 0.15.0 is what keeps the withdrawal safe. It pins openkal-musl 0.19.0, and both read `__MCPP_TARGET_WINDOWS__` in the INSTALLED headers that size `jmp_buf` and `unw_context_t`, keeping `|| defined(__CYGWIN__)` beside it. Measured on the engine branch before it merged: against the PUBLISHED 0.13.0, an openkal program for x86_64-windows-gnu fails on libunwind's two `static_assert`s. Registered and published first --- #453, #455, #456 --- before this line moved. 0.15.0 also makes `thread_local` destructors run, which `doctest` and `spdlog` stop on today with `undefined symbol: __cxa_thread_atexit`. Those two are the other half of what this run should report. `openkal-compat.yml`'s MCPP_VERSION moves with `pins.toml` because that workflow checks the two agree. `latest_mcpp` moves; `min_mcpp` DOES NOT --- this release adds no manifest key, so no client loses the index.
1 parent e75e07d commit 9160739

3 files changed

Lines changed: 27 additions & 4 deletions

File tree

.github/workflows/openkal-compat.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ env:
3737
# run if this drifts from pins.toml. See the comment beside `mcpp` in
3838
# pins.toml for why this pin, not just validate.yml's, is gated by the
3939
# index floor.
40-
MCPP_VERSION: "2026.9.20.1"
40+
MCPP_VERSION: "2026.9.21.2"
4141
# CROSS-VALIDATION BEFORE A RELEASE, NOT AFTER IT.
4242
#
4343
# Empty in an ordinary run, so this measurement keeps using the RELEASED

index.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,4 +101,4 @@
101101
[index]
102102
spec = "1"
103103
min_mcpp = "2026.9.18.3"
104-
latest_mcpp = "2026.9.20.1"
104+
latest_mcpp = "2026.9.21.2"

tests/openkal/pins.toml

Lines changed: 25 additions & 2 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.13.0"
7+
runtime = "0.15.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,6 +18,29 @@ 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+
# 2026-09-21: `runtime` -> 0.15.0 AND `mcpp` -> 2026.9.21.2, AND THE TWO MOVE
22+
# TOGETHER BECAUSE THE MEASUREMENT IS ABOUT WHAT THE PAIR DOES.
23+
#
24+
# The engine withdraws `__CYGWIN__`. Four members of this suite --- archive
25+
# (xz), sqlite3, mimalloc, c-ares --- stopped at `#include <windows.h>` reached
26+
# through `#if defined(_WIN32) || defined(__CYGWIN__)`, and upstream means
27+
# "Win32 is available" by that name. THIS MEASUREMENT IS THE CRITERION FOR
28+
# THAT CHANGE: the `windows.h` group should go to zero, and nothing that ran
29+
# before should stop running.
30+
#
31+
# `runtime` -> 0.15.0 is what keeps the withdrawal safe. 0.15.0 pins
32+
# openkal-musl 0.19.0, and both of those read `__MCPP_TARGET_WINDOWS__` in the
33+
# INSTALLED headers that size `jmp_buf` and `unw_context_t`, keeping
34+
# `|| defined(__CYGWIN__)` beside it. Measured on the engine branch before it
35+
# merged: against the PUBLISHED 0.13.0, an openkal program for
36+
# x86_64-windows-gnu fails on libunwind's two `static_assert`s. Registered and
37+
# published first, in #453, #455 and #456, before this line moved.
38+
#
39+
# 0.15.0 also makes `thread_local` destructors run, which `doctest` and
40+
# `spdlog` stop on today with `undefined symbol: __cxa_thread_atexit`. Those
41+
# two are the other half of what this measurement should report.
42+
#
43+
# (the note below is from the previous move, and its reasoning still holds)
2144
# 2026-09-20: `runtime` -> 0.13.0, THE FIRST GRAPH IN WHICH EVERY IMPLEMENTATION
2245
# DECLARES ITS INTERFACES. It pins openkal-musl 0.18.0, which pins
2346
# openkal-linux 0.15.0, openkal-windows 0.10.0 and openkal-macos 0.12.0 --- the
@@ -51,7 +74,7 @@ toolchain = "llvm@22.1.8"
5174
# openkal-musl 0.16.0 and openkal-llvm-runtime 0.12.0), because a pin that
5275
# moves onto an unreachable or divergent asset fails every member at once and
5376
# reports it as a compatibility result.
54-
mcpp = "2026.9.20.1"
77+
mcpp = "2026.9.21.2"
5578

5679
targets = ["x86_64-linux-gnu", "x86_64-windows-gnu"]
5780

0 commit comments

Comments
 (0)