test: migrate 802_lenidx to @test + runww rejects, retire C twin (fold-3)

#19 len/index family: value rows -> test/lang/lenidx_test.ww (primitive-only asserts), 3 reject (callres/sliceexpr/strlit) -> runww //ww:error dual-stage carriers. byteid floor 52->53.
This commit is contained in:
2026-06-22 16:53:49 +09:00
parent 057e805cf0
commit 04f163dde6
6 changed files with 174 additions and 427 deletions

View File

@@ -473,7 +473,6 @@ TESTS = $(BIN)/test_smoke $(BIN)/test_lex $(BIN)/test_parse $(BIN)/test_check \
$(BIN)/test_xmod_ident_prefer \
$(BIN)/test_xmod_valglobal_run \
$(BIN)/test_xmod_valglobal_dot_run \
$(BIN)/test_lenidx_run \
$(BIN)/test_zeroinit_run \
$(BIN)/test_tuple_sret_callee \
$(BIN)/test_append_wide_elem \
@@ -1777,14 +1776,6 @@ $(BIN)/test_xmod_valglobal_dot_run: test/wcc/796_xmod_valglobal_dot_run.c \
$(LIB)/libwwrt.a | $(BIN)
$(CC) $(CFLAGS) -o $@ $<
# #19: len() over an INDEXED str/slice element (`len(xs[i])`) returned the
# element's .ptr, not its length (cstage == wwstage, shared gap). Runtime
# (cstage build+run) + cs==ww byte-id, both dimensions per row.
$(BIN)/test_lenidx_run: test/wcc/802_lenidx_run.c \
$(BIN)/ww $(BIN)/w6c $(BIN)/w6c_ww $(BIN)/w6a $(BIN)/w6l \
$(LIB)/libwwrt.a | $(BIN)
$(CC) $(CFLAGS) -o $@ $<
# #16: a bare `let x: T;` (no rhs) must zero-fill its slot. cgen emitted
# the zero-fill only for 8B-primitive and >8B-composite slots — a SUB-8
# aggregate (`let c: [3]u8;`) fell through to NOTHING and read stack
@@ -3296,7 +3287,7 @@ test-lang: all
LANGBYTEID_DIR = $(OUT)/langbyteid
LANGBYTEID_FILES = $(wildcard test/lang/*_test.ww)
LANGBYTEID_VERB = test -c
LANGBYTEID_EXPECTED_MIN = 52
LANGBYTEID_EXPECTED_MIN = 53
$(if $(LANGBYTEID_FILES),,$(error test-lang-byteid: empty corpus))
test-lang-byteid: all
@set -e; \