cgen: default the hi bound of an N_DOT array-field slice arg

pushargsrev's N_SLICE arm resolved esz and the base address from the
stamped tinfo of an N_DOT [N]T-field base but let the omitted hi bound
fall to $0, so the #258 array-to-slice borrow desugar handed callees a
zero-length slice: base64 clear()'s bytes.zero(e.ibuf) was a runtime
no-op under the wwstage frontend. Take the element count from the
field's array tinfo like the cgslice #252 arm and cstage's bu->alen.
Graduates r989_libprecond_decodedsize_aligned and the 989_lib_byteid
#59.3 base64 pin.
This commit is contained in:
2026-08-07 23:50:02 +09:00
parent 58641e97a5
commit 4559b52950
3 changed files with 13 additions and 3 deletions

View File

@@ -586,7 +586,7 @@ DATABYTEID_EXPECTED_MIN = 911
DATABYTEID_DIVERGED = r71_tagged_return_scratch_mixed \
r76_typeeq_fn_diff_arity r76_typeeq_fn_diff_param_type \
r76_typeeq_fn_io_vtable_shape r76_typeeq_fn_variadic_vs_fixed \
r940_str_forrange_arg r989_libprecond_decodedsize_aligned
r940_str_forrange_arg
$(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; \