From dc5587eae248cb2684536dc4cd01a13e6c6a5ca4 Mon Sep 17 00:00:00 2001 From: Ginger Bill Date: Sun, 30 Apr 2017 17:20:37 +0100 Subject: [PATCH] Fix statement parsing of unary: & and ^ --- build.bat | 2 +- src/parser.c | 25 ++----------------------- 2 files changed, 3 insertions(+), 24 deletions(-) diff --git a/build.bat b/build.bat index 51dfc84b4..c50fc93ef 100644 --- a/build.bat +++ b/build.bat @@ -4,7 +4,7 @@ set exe_name=odin.exe :: Debug = 0, Release = 1 -set release_mode=0 +set release_mode=1 set compiler_flags= -nologo -Oi -TC -fp:fast -fp:except- -Gm- -MP -FC -GS- -EHsc- -GR- if %release_mode% EQU 0 ( rem Debug diff --git a/src/parser.c b/src/parser.c index ad1e2945f..cd8f65652 100644 --- a/src/parser.c +++ b/src/parser.c @@ -2077,29 +2077,6 @@ AstNode *parse_atom_expr(AstFile *f, bool lhs) { AstNode *parse_unary_expr(AstFile *f, bool lhs) { switch (f->curr_token.kind) { - - // case Token_cast: - // case Token_transmute: - // case Token_union_cast: - // { - // Token token = f->curr_token; next_token(f); - // Token open = expect_token(f, Token_OpenParen); - // AstNode *type = parse_type(f); - // Token close = expect_token(f, Token_CloseParen); - // AstNode *expr = parse_unary_expr(f, lhs); - // return ast_cast_expr(f, token, type, expr, open, close); - // } break; - - // case Token_Pointer: { - // Token op = f->curr_token; - // next_token(f); - // AstNode *expr = parse_unary_expr(f, lhs); - // if (is_ast_node_type(expr)) { - // return ast_pointer_type(f, op, expr); - // } - // return ast_unary_expr(f, op, expr); - // } break; - case Token_Add: case Token_Sub: case Token_Not: @@ -3295,11 +3272,13 @@ AstNode *parse_stmt(AstFile *f) { case Token_Rune: case Token_String: case Token_OpenParen: + case Token_Pointer: // Unary Operators case Token_Add: case Token_Sub: case Token_Xor: case Token_Not: + case Token_And: s = parse_simple_stmt(f, false); expect_semicolon(f, s); return s;