From 793bc8c58580dfb64d7c31ca992c34b38e9847e7 Mon Sep 17 00:00:00 2001 From: Ginger Bill Date: Mon, 25 Sep 2017 23:08:22 +0100 Subject: [PATCH] Fix issue #89 --- src/check_expr.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/check_expr.cpp b/src/check_expr.cpp index 9357ebc61..bec444d2f 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -87,7 +87,12 @@ void error_operand_not_expression(Operand *o) { void error_operand_no_value(Operand *o) { if (o->mode == Addressing_NoValue) { gbString err = expr_to_string(o->expr); - error(o->expr, "`%s` used as value", err); + AstNode *x = unparen_expr(o->expr); + if (x->kind == AstNode_CallExpr) { + error(o->expr, "`%s` call does not return a value and cannot be used as a value", err); + } else { + error(o->expr, "`%s` used as a value", err); + } gb_string_free(err); o->mode = Addressing_Invalid; }