rm dead combined.ww + retarget 901 to sep-feed; sweep amalgamator remnants (M4 E4, #90)
The E3 flip (#87) made sep the sole compile path and deleted the
combined.ww writer, leaving the six committed *.combined.ww files dead.
Remove them and the last references to the retired amalgamator.
- rm the 6 tracked *.combined.ww (selfhost/cmd/{w6a,w6c,w6l,ww,wwdump}/
main.combined.ww + selfhost/test/smoke.combined.ww). Verified no live
build path or gate still feeds one as compiler INPUT.
- 901_asserttyped_gap: its 5 combined.ww gap fixtures were the last
combined.ww INPUT consumers (4 already missing/vacuous post-flip, only
smoke.combined.ww still fed). Retarget all 5 to sep-feed via a
resolveunit helper (whole-package-dir copy -> `ww build --sep` ->
<stem>.sepwork/__root.unit.ww), mirroring 990's #89 pattern; the 3
import-free test fixtures stay raw-fed. All 8 counts hold at 0 (A-D
coverage, vacuous since the flip, is live again).
- INV-2 (the driver's unresolvable-import-is-fatal guard) is KEPT; only
its "Mirrors the deleted expand" lineage tail is swept. The #110
combined_ww_fresh freshness gate was already removed in #89 (5f85852).
- Sweep dangling amalgamator lineage comments (build_one/buildone/expand/
peek_package/peekpackage + stale combined.ww/combined intermediates)
in cmd/ww/main.c + selfhost/cmd/ww/main.ww, symmetrically (rule-10),
and the stale Makefile combined.ww test-comments (enumcap bigmod.unit.ww
+ 784/787/792/794/848 sep .s cmp + make-smoke sep self-compile).
Closes M4 and epic #22. all 445 pass; 990/993/994/995 byte-id HOLD;
sizelint clean.
This commit is contained in:
30
Makefile
30
Makefile
@@ -1066,8 +1066,9 @@ $(BIN)/test_loopcap_run: test/wcc/989_loopcap_run.c \
|
||||
|
||||
# 989_enumcap_run (#65, F13 c3): the driver's directory enumerator grows
|
||||
# dynamically (mirror cstage realloc-doubling) instead of silently capping at
|
||||
# 256 files. Builds on both driver twins and asserts a byte-identical
|
||||
# combined.ww on a >256-file module (rule-10). See the test header.
|
||||
# 256 files. Builds on both driver twins (`--sep`) and asserts a byte-identical
|
||||
# per-package sep unit (bigmod.unit.ww) on a >256-file module (rule-10). See
|
||||
# the test header.
|
||||
$(BIN)/test_enumcap_run: test/wcc/989_enumcap_run.c \
|
||||
$(BIN)/ww $(BIN)/ww_ww \
|
||||
$(BIN)/w6c $(BIN)/w6a $(BIN)/w6l \
|
||||
@@ -1826,9 +1827,9 @@ $(BIN)/test_type_value_shadow_run: test/wcc/788_type_value_shadow_run.c \
|
||||
|
||||
# #223: a struct-field access through a pointer-ALIAS receiver whose
|
||||
# leaf collides with another module's same-leaf STRUCT. cstage driver
|
||||
# build + run for runtime, raw w6c vs w6c_ww .s cmp on the combined.ww
|
||||
# for rule-10 byte-id (the #223 discriminator). Builds its own 2-module
|
||||
# fixtures in a private mktemp dir — not a selfhost-driver test.
|
||||
# build + run for runtime, cs-sep vs ww-sep .s cmp (concatenated
|
||||
# main.sepwork/*.s) for rule-10 byte-id (the #223 discriminator). Builds its
|
||||
# own 2-module fixtures in a private mktemp dir — not a selfhost-driver test.
|
||||
$(BIN)/test_xmod_alias_struct_collide_run: test/wcc/784_xmod_alias_struct_collide_run.c \
|
||||
$(BIN)/ww $(BIN)/w6c $(BIN)/w6a $(BIN)/w6l \
|
||||
$(BIN)/ww_ww $(BIN)/w6c_ww $(BIN)/w6a_ww $(BIN)/w6l_ww \
|
||||
@@ -1837,8 +1838,8 @@ $(BIN)/test_xmod_alias_struct_collide_run: test/wcc/784_xmod_alias_struct_collid
|
||||
|
||||
# #13: cross-module decomposition of an imported union's variants
|
||||
# (`case pkg.a`). Pre-fix the wwstage checker rejected it; cstage built
|
||||
# it. cstage driver build + run pins routing; raw w6c_ww on the
|
||||
# combined.ww (must now accept) + cs==ww byte-id is the discriminator.
|
||||
# it. cstage driver build + run pins routing; ww-sep build (w6c_ww must
|
||||
# now accept) + cs-sep==ww-sep byte-id is the discriminator.
|
||||
# Builds its own 2-module fixtures in a private mktemp dir.
|
||||
$(BIN)/test_xmod_variant_match: test/wcc/787_xmod_variant_match.c \
|
||||
$(BIN)/ww $(BIN)/w6c $(BIN)/w6a $(BIN)/w6l \
|
||||
@@ -1851,8 +1852,8 @@ $(BIN)/test_xmod_variant_match: test/wcc/787_xmod_variant_match.c \
|
||||
# to an N_DOT chain the checker's resolve_type had no arm for); the fix
|
||||
# flattens the chain to one N_TNAME at the struct-lit handoff in BOTH
|
||||
# stages. cstage driver build + run pins parse + runtime field values;
|
||||
# raw w6c vs w6c_ww on the combined.ww is the rule-10 byte-id gate.
|
||||
# Builds its own 2-module fixtures in a private mktemp dir.
|
||||
# cs-sep vs ww-sep .s cmp (concatenated main.sepwork/*.s) is the rule-10
|
||||
# byte-id gate. Builds its own 2-module fixtures in a private mktemp dir.
|
||||
$(BIN)/test_xmod_qualstructlit_run: test/wcc/848_xmod_qualstructlit_run.c \
|
||||
$(BIN)/ww $(BIN)/w6c $(BIN)/w6a $(BIN)/w6l \
|
||||
$(BIN)/ww_ww $(BIN)/w6c_ww $(BIN)/w6a_ww $(BIN)/w6l_ww \
|
||||
@@ -1866,7 +1867,7 @@ $(BIN)/test_xmod_qualstructlit_run: test/wcc/848_xmod_qualstructlit_run.c \
|
||||
# ("case: not a variant" / "variant not handled"), so any fmt-importing
|
||||
# unit was wwstage-uncompilable. Fix flattens the spread in the checker's
|
||||
# match validity + exhaustiveness walk (selfhost/cmd/wcc/check.ww). The
|
||||
# w6c_ww-accepts + cs==ww byte-id on the driver combined is the
|
||||
# w6c_ww-accepts + cs-sep==ww-sep byte-id on the driver sep build is the
|
||||
# discriminator. Self-contained single-file probe.
|
||||
$(BIN)/test_spread_variant_match: test/wcc/792_spread_variant_match.c \
|
||||
$(BIN)/ww $(BIN)/w6c $(BIN)/w6a $(BIN)/w6l \
|
||||
@@ -1882,7 +1883,7 @@ $(BIN)/test_widen_pad_zero_run: test/wcc/793_widen_pad_zero_run.c \
|
||||
|
||||
# #55: bare value-ident in an imported module must resolve same-module-
|
||||
# preferred (exprtype N_IDENT scopelookup -> scopelookupprefer). cstage
|
||||
# driver build + run pins routing; raw w6c_ww on the combined must ACCEPT
|
||||
# driver build + run pins routing; the ww-sep build (w6c_ww) must ACCEPT
|
||||
# (pre-fix it rejected the wrong-module-typed ident). Builds its own
|
||||
# 2-module fixtures in a private mktemp dir.
|
||||
$(BIN)/test_xmod_ident_prefer: test/wcc/794_xmod_ident_prefer.c \
|
||||
@@ -2944,7 +2945,7 @@ $(BIN)/test_self_rebuild: test/wcc/995_self_rebuild.c $(BIN)/ww_ww \
|
||||
$(BIN)/test_selfcheck: test/wcc/950_selfcheck.c $(BIN)/wwdump_ww | $(BIN)
|
||||
$(CC) $(CFLAGS) -o $@ $<
|
||||
|
||||
$(BIN)/test_asserttyped_gap: test/wcc/901_asserttyped_gap.c $(BIN)/wwdump_ww | $(BIN)
|
||||
$(BIN)/test_asserttyped_gap: test/wcc/901_asserttyped_gap.c $(BIN)/ww $(BIN)/wwdump_ww | $(BIN)
|
||||
$(CC) $(CFLAGS) -o $@ $<
|
||||
|
||||
$(BIN)/test_dyn_ww: test/wcc/996_dyn_ww.c $(BIN)/ww $(BIN)/w6l $(BIN)/w6l_ww \
|
||||
@@ -3589,9 +3590,10 @@ test-commit: all sizelint peellint $(TESTS)
|
||||
# w6c_ww and diffs the emitted .s. Catches a cs!=ww emission divergence
|
||||
# (rule 10) in seconds — the per-fold inner-loop check Rob's cadence
|
||||
# calls for. NOT a substitute for the full 990-997 byte-id gate, which
|
||||
# self-compiles main.combined.ww: ALWAYS run `make test` before landing
|
||||
# self-compiles the tools via `--sep`: ALWAYS run `make test` before landing
|
||||
# a cgen/ABI/compiler-lib fold. w6c consumes a flat unit (no import
|
||||
# resolution), so FIXTURE must be import-free or a pre-built .combined.ww.
|
||||
# resolution), so FIXTURE must be import-free or a pre-resolved sep unit
|
||||
# (<stem>.sepwork/__root.unit.ww).
|
||||
# make smoke # default: rt/malloc.ww
|
||||
# make smoke FIXTURE=rt/ensure.ww # any self-contained .ww
|
||||
FIXTURE ?= rt/malloc.ww
|
||||
|
||||
Reference in New Issue
Block a user