aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'expression.c')
-rw-r--r--expression.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/expression.c b/expression.c
index 310aa17..0a79581 100644
--- a/expression.c
+++ b/expression.c
@@ -301,6 +301,15 @@ struct token *primary_expression(struct token *token, struct expression **tree)
token = token->next;
break;
+ case TOKEN_ZERO_IDENT: {
+ expr = alloc_expression(token->pos, EXPR_SYMBOL);
+ expr->ctype = &int_ctype;
+ expr->symbol = &zero_int;
+ expr->symbol_name = token->ident;
+ token = token->next;
+ break;
+ }
+
case TOKEN_IDENT: {
struct symbol *sym = lookup_symbol(token->ident, NS_SYMBOL | NS_TYPEDEF);
struct token *next = token->next;