f45caf1cd92ed9125fcb77cfe18babb7896a7f76
The N_INDEX node carries the checker-stamped element tinfo (#60 arc); cgindex, cgun TK_AMP, and cgassign now read the element stride off that .type_.size instead of indexbaseesz's manual N_DOT-pseudo-field + structlookup walk, retiring the helper (0 callers, ~96 LOC). Aligns down to cstage's idx_eff(base->type)->sub->size (cmd/w6c/cgen.c:3517-18, natural element size) -- strictly more cstage-faithful than indexbaseesz's totsize/slotsize derivation (byte-id held only because firing shapes have totsize==natural; cstage reads natural and ww-old==cstage, so the flip is structural). Each site keeps its nil->default-8 fallback; cgindex stays esz-only (signed_elem unset for the N_DOT base, as before). Closes the A.6.3 cgenutil-collapse arc: every type/size/offset query in cgen now reads the checker-stamped tinfo, and the AST-walker / structinfo-walk helpers it replaced (dotfieldtnode, indexvaluetnode, rhstargetname, dotinnerstructptr, indexbaseesz) are retired. make test 134/134, byte-id 990-997 hold. Coverage: 713/741/755 + self-rebuild.
Description
No description provided
Languages
C
89.4%
Python
7.2%
Makefile
2.3%
Shell
0.8%
Assembly
0.3%