From 8e0de5b89ecfdd0aa9a7c01b9ef1652b4107ad4c Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 24 Jan 2026 13:17:02 +0900 Subject: feat: implement unary plus --- src/parse.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/parse.c b/src/parse.c index 41caa4a..12e8815 100644 --- a/src/parse.c +++ b/src/parse.c @@ -742,7 +742,9 @@ static AstNode* parse_argument_expr_list(Parser* p) { // TODO 'alignof' '(' type-name ')' static AstNode* parse_unary_expr(Parser* p) { TokenKind op = peek_token(p)->kind; - if (consume_token_if(p, TokenKind_minus)) { + if (consume_token_if(p, TokenKind_plus)) { + return parse_cast_expr(p); + } else if (consume_token_if(p, TokenKind_minus)) { AstNode* operand = parse_cast_expr(p); return ast_new_binary_expr(op, ast_new_int(0), operand); } else if (consume_token_if(p, TokenKind_not)) { -- cgit v1.3-1-g0d28