8da14147b395cdfb120cf7c20ef66ed854d8021c
nodeisunsigned + exprfloatkind each manually walked base->struct->field on N_DOT, gated on `base.kind == nkind.N_IDENT` -- duplicating cstage's behaviour at the AST level while silently dropping the nested-N_DOT case (`a.b.c` returned the conservative default). After A.6.2 the checker stamps n.type_ on every N_DOT expression (check.ww:1973 struct-field arm of exprtype), and A.6.3a/b landed the tinfo helpers (typeisunsigned, isfloattype/isf32type) that the inner reads already use. Both arms collapse to one tinfo read. Polarity DOWN per rule 10: cstage was already aligned. cmd/w6c/cgen.c: 2330-2331 reads type_isunsigned(n->lhs->type) directly; cgen.c:152-156 node_isfloat = cg_isfloat(n->type); cgen.c:195-199 node_isf32 = type_isf32(n->type). No exprfloatkind-equivalent walker exists in cstage -- it is pre-A.6.2 wwstage scaffolding. Wwstage now reads the same shape as cstage on N_DOT. Nested N_DOT (a.b.c) now resolves to the field type instead of returning the conservative default. Byte-identity (994/995) confirms the codegen matches cstage on the test set -- cstage was already getting nested-dot right via checker-stamped n->type, wwstage was the laggard. make test 133/133 ok. Net cgenutil.ww -41 / +3.
Description
No description provided
Languages
C
89.4%
Python
7.2%
Makefile
2.3%
Shell
0.8%
Assembly
0.3%