Makefile sets WW_W6C=$(BIN)/w6c_ww so `make`, `make test`, and
`make demo` all use the ww-built backend. With the wwstage cgen
fixes in selfhost/cmd/wcc/ the demo no longer needs to dodge:
- bug #1+#2 (global addressing): symbol interner indexes
sym_off / sym_len / sym_blob directly. No `let blob = sym_blob;`
aliasing.
- bug #3 (chained non-pointer sub-struct field): not retired here
(lexer.cur is still flattened) but the cgen now handles the
shape; un-flattening is cosmetic.
- bug #4 (f64 through every boundary): vfloat writes p.fval = v
directly; promote_v's FLOAT branch is one assign; to_f64 reads
v.ival as f64 / v.fval directly. Drops fbuf, FVAL_OFF, copybytes.
- bug #7 (xs[i].field): builtins write xs[0].kind / xs[0].car
directly; no `let p = xs[0];` first.
lisp_test still 101/101.
CLAUDE.md marks each historical bug as retired or still load-
bearing; #6 (slice-len in tagged-union return) and #8 (f64
compound assign) are the remaining shapes to avoid.