test: port 839_xmod_nominal_typeeqast to corpus fixtures
839_xmod_nominal_typeeqast.c -> r839_xmod_nominal_match (run-exit 42), r839_xmod_a6_concrete (run), r839_xmod_incompat_concrete (error 'not assignable'), r839_xmod_distinct_alias (error 'ambiguous without nominal layout'). r839_xmod_nominal_match enters DATABYTEID_DIVERGED: the carrier waived byte-id for the pre-existing cross-module tagged-return spill divergence; the DIVERGED row makes it loud-on-fix instead. The typeeqast-layer discriminator itself stays with the lib byteid gate (test/byteid/libbyteid_test.ww), as the carrier documented.
This commit is contained in:
7
Makefile
7
Makefile
@@ -598,7 +598,12 @@ DATABYTEID_EXPECTED_MIN = 915
|
||||
# wwstage spills a wwi-decl'd tagged call-result arg through a 16B
|
||||
# scratch pair where cstage PUSHQes AX/DX (frame 64 vs 80); runtime-
|
||||
# equivalent, sibling of the closed #211 name-keyed family.
|
||||
DATABYTEID_DIVERGED = r700_strings_byteindex
|
||||
# r839_xmod_nominal_match: latent, exposed by the 839 migration (the
|
||||
# carrier waived byte-id silently) — same spill family as r700: wwstage
|
||||
# routes the cross-module tagged call-result through a 16B scratch pair
|
||||
# where cstage PUSHQes AX/DX (frame 16 vs 32); runtime-equivalent
|
||||
# (both stages run exit 42).
|
||||
DATABYTEID_DIVERGED = r700_strings_byteindex r839_xmod_nominal_match
|
||||
$(if $(DATABYTEID_FILES),,$(error test-byteid: empty data corpus))
|
||||
test-data-byteid: $(BIN)/ww $(BIN)/w6c $(BIN)/w6c_ww
|
||||
@work=$$(mktemp -d "$(CURDIR)/$(DATABYTEID_DIR).XXXXXX") || exit 1; \
|
||||
|
||||
Reference in New Issue
Block a user