03e471819967956815ef53d736683bb6a0e516fe
The node-keyed signedness helpers (typenodeisunsigned, typenodeisunsignedc, elemissigned, elemissignedc, fieldissignedc) each re-walked TBANG / TENUM / TNAME chains and re-consulted alias / enum registries — duplicating cstage's type_isunsigned (cmd/wcc/type.c:178) and fld_issigned (cmd/w6c/cgen.c:240) at the AST level. After A.6.2 every type-AST kind we read here is tinfo-stamped at check.ww L426-436, so the predicates collapse to a single tinfo read. Two new arms close the wwstage divergence from cstage: typeisunsigned gains TY_RUNE and TY_ENUM (recurse on .sub), matching type.c:178 verbatim. typeissigned is added as the cgen-facing predicate per fld_issigned semantics (TY_BOOL excluded for sub-word storage — 0/1 → MOVZBQ — so it's not just !typeisunsigned). Rule 9 carve-out: the helper exists in cstage; harec keeps the same pair. elemissigned was fully dead (no callers); deleted. typenameissigned was internal-only and dead post-collapse; deleted. typenameisunsigned survives — two call sites (typenodeprimresolved, exprprimresolved) hold only a raw `str` (TNAME.str / INTLIT.tsuffix). paramissigned in cgenstmt.ww unchanged. Both deferrals close in A.6.3c (#47). Byte-identity (994/995) is the behavior gate for the alias/enum sites — full `make test` green at 133/133 confirms.
Description
No description provided
Languages
C
89.4%
Python
7.2%
Makefile
2.3%
Shell
0.8%
Assembly
0.3%