* tccbin: derive the Windows patch count, fix gcc>=14 provenance types, keep vc c3063f8 bootstrapping
- contract.v: replace the hard-coded patch-0001..patch-0013 / orders 1..15 expectation
with validate_windows_patch_sequence: contiguous patch-0001..patch-NNNN, at least nine,
orders exactly 1..(patches + transforms); transforms expected at patches+1/+2. Fixture
grows to the real sixteen patches; new tests cover 9/16/17 passing and short, gapped,
misnamed and wrong-order sequences failing. hygiene_files 106 -> 108 (#30939 added two files).
- provenance_windows.c.v: ReadFile takes &C.DWORD; _get_osfhandle results cast via voidptr(),
so gcc >= 14 compiles the generated C with plain -w.
- vc bootstrap compat after ffc38ada48: spell Type(alias.base_type) via unalias_type in
monomorphize.v / checker.v (the snapshot emitted a pointer-to-pointer), and return the
literal nil on a cached_expr_type_ref miss (the snapshot heap-copies &Type returns and
segfaulted on memdup(NULL) in stage 3).
Co-Authored-By: WOZCODE <contact@withwoz.com>
* tccbin: build the 17-patch and gap test manifests structurally
Parse the Windows fixture, mutate its patches, transforms and probes as JSON values
and re-encode, instead of chaining replace_once over fixture text. The multi-line
string literal compiled and passed, but the structural form does not depend on
fixture formatting and also covers an eighteen-patch manifest.
Co-Authored-By: WOZCODE <contact@withwoz.com>
---------
Co-authored-by: Richard Wheeler <18647491+PythonWillRule@users.noreply.github.com>
Co-authored-by: WOZCODE <contact@withwoz.com>