From 855a7d2ec120591a1995b7cc89c0ea5a4c42d75f Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Mon, 1 Jul 2024 11:31:50 -0400 Subject: Show test output for update assignments --- compile.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/compile.c b/compile.c index 16bcee79..c536e378 100644 --- a/compile.c +++ b/compile.c @@ -354,6 +354,16 @@ CORD compile_statement(env_t *env, ast_t *ast) (int64_t)(test->expr->end - test->expr->file->text)); return code; } + } else if (test->expr->tag == UpdateAssign) { + return CORD_asprintf( + "test(({ %r; &%r; }), %r, %r, %r, %ld, %ld);", + compile_statement(env, test->expr), + compile_lvalue(env, Match(test->expr, UpdateAssign)->lhs), + compile_type_info(env, get_type(env, Match(test->expr, UpdateAssign)->lhs)), + compile(env, WrapAST(test->expr, TextLiteral, .cord=test->output)), + compile(env, WrapAST(test->expr, TextLiteral, .cord=test->expr->file->filename)), + (int64_t)(test->expr->start - test->expr->file->text), + (int64_t)(test->expr->end - test->expr->file->text)); } else if (expr_t->tag == VoidType || expr_t->tag == AbortType) { return CORD_asprintf( "test(({ %r; NULL; }), NULL, NULL, %r, %ld, %ld);", -- cgit v1.2.3