Replace parser's fail() and astgen's flag-only SET_ERROR(ag) with a
single SET_ERROR(ctx, msg) macro in common.h that stores the error
message in ctx->err_buf and sets ctx->has_compile_errors. Both Parser
and AstGenCtx now carry the same err_buf[ERR_BUF_SIZE] field.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add warn() for non-fatal parse errors (like Zig's Parse.warn)
- Implement finishAssignDestructureExpr for destructuring assignments
- Use parseBlockExpr instead of parseBlock in for/while statement bodies
- Use parseSingleAssignExpr in switch prongs
- Enable x86_64/CodeGen.zig corpus entry
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>