Fix statement parsing of unary: & and ^

This commit is contained in:
Ginger Bill
2017-04-30 17:20:37 +01:00
parent 7057034b75
commit dc5587eae2
2 changed files with 3 additions and 24 deletions

View File

@@ -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

View File

@@ -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;