wwstage cgen.ww emitdefconstants now uses the same emitsymname mangler that LOAD/CALL sites use, replacing 8 lines of duplicate `d.exported`/`d.nmod` logic. Rule-12 sea-of-stars consolidation — one path, not two parallel paths that can desynchronise. Cstage twin: cmd/w6c/cgen.c:8510 (mod_mangle in emit_defs). Bootstrap- neutral post-90d31c5 (the duplicate PATH_MAX def that motivated the divergence was cleaned up in drew's source-hygiene fold); all 5 tool combined.ww emit cs==ww byte-identical asm post-fix. New test 913 (4 rows: exported i64 def, main-local i64 def, u64 width, multi-def sequence) pins the simple-shape invariant forward — a future caller introducing a colliding name produces the same symbol from both stages by construction. Drew's (a) ruling. Reviewer-127 noted the new path additionally consults FFI (ffiresolve) which the old d.exported/d.nmod block did not — incidental improvement to cs/ww symmetry beyond the mod-mangle consolidation.
7.1 KiB
7.1 KiB