aboutsummaryrefslogtreecommitdiff
path: root/src/checker
diff options
context:
space:
mode:
authorGinger Bill <bill@gingerbill.org>2016-09-15 18:58:29 +0100
committerGinger Bill <bill@gingerbill.org>2016-09-15 18:58:29 +0100
commit807256dea4d22550ee5da48e806b4e773670fbfc (patch)
tree8db9056e3117d67f4dee4b8b6fe7a7c84c4b3b2b /src/checker
parentb6cb4f4d145bdc87aecf8edd678d025b22faff57 (diff)
ssa - alloca all variables at the very start
Diffstat (limited to 'src/checker')
-rw-r--r--src/checker/stmt.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/checker/stmt.cpp b/src/checker/stmt.cpp
index fa29456c2..1f57519e0 100644
--- a/src/checker/stmt.cpp
+++ b/src/checker/stmt.cpp
@@ -754,12 +754,14 @@ void check_stmt(Checker *c, AstNode *node, u32 flags) {
case Addressing_Type:
error(&c->error_collector, ast_node_token(node), "Is not an expression");
break;
- default:
- if (kind == Expr_Stmt) {
- return;
- }
- error(&c->error_collector, ast_node_token(node), "Expression is not used");
- break;
+ case Addressing_NoValue:
+ return;
+ default: {
+ gbString expr_str = expr_to_string(operand.expr);
+ defer (gb_string_free(expr_str));
+
+ error(&c->error_collector, ast_node_token(node), "Expression is not used: `%s`", expr_str);
+ } break;
}
case_end;