Skip to content

v0.13.0 - a 32-bit MSVC leg

Choose a tag to compare

@rhalbersma rhalbersma released this 14 Oct 08:10
· 31 commits to main since this release
170191b

visual-studio.yml takes an arch input, x64 (the default) or x86.

  • arch: x86 configures with -A Win32 against vcpkg's built-in x86-windows
    triplet, the x64-hosted tools cross-compiling. That leg is where MSVC's
    32-bit ABI meets the code: an ILP32 size_t with 8-byte alignment for
    64-bit members, and the STL's portable 128-bit integer class rather than
    the x64 intrinsics. vcpkg_triplet is ignored there, as gcc.yml ignores it
    for x86-linux-gcc.
  • A "Require a known target" step rejects anything but x64 or x86.
  • The vcpkg cache key carries the arch, so an x86 caller and an x64 caller
    of the same cache_prefix don't evict each other's archives. An existing
    caller's key gains "-x64", so its first run after repinning restores cold.
  • A caller passing nothing configures, installs and builds exactly as before.

The README's 32-bit table gains the MSVC x86 row and its stub. Its new
Future directions section records the open design issues: declared support
instead of dropped rungs, ladder freshness, a test for coverage.yml, drift
between callers, and the shared build and documentation.

Callers add one job:

msvc_x86:
uses: rhalbersma/cpp-ci/.github/workflows/visual-studio.yml@ # v0.13.0
with:
arch: x86
tiers: qualification
build_types: Debug

Full changes: #61, #62.