dbb52e25fe49360f3125803a69e7ce3a4b652da6
perr() in parse.ww wrote the "w6a: " prefix with a hand-counted length of 4, but the string is 5 bytes — the trailing space was dropped, so every assembler diagnostic printed as "w6a:<file>" with no separating space. Replace the prefix length (and the ": " / "\n" literal writes in the same function) with the string's own .len via the local-binding idiom, fixing the off-by-one and closing the hand-count class here. Uses str-variable .len (correct on both stages), not "literal".len (cstage miscompile, #14), so this is byte-identical cs==ww. Verified: w6a_ww on a bad input now writes "w6a: <file>: <msg>\n" with the space restored; w6c and w6c_ww emit byte-identical asm for the regenerated main.combined.ww.
w6c+wwstage: reject untyped empty-[] alloc — require context, loud cannot-infer (#3 B', subsumes #5)
Description
No description provided
Languages
C
89.4%
Python
7.2%
Makefile
2.3%
Shell
0.8%
Assembly
0.3%