diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2016-09-30 20:12:00 -0400 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2016-09-30 20:12:00 -0400 |
| commit | 633781e31dedaa27d9692d56f6cf073931ca311a (patch) | |
| tree | 64f05abeb6225a8c45164a073afe02bb2af47ec0 /src/parser.cpp | |
| parent | 4e2fa2d15be248c29051a58995e38caa0b1de0a5 (diff) | |
| download | zig-633781e31dedaa27d9692d56f6cf073931ca311a.tar.gz zig-633781e31dedaa27d9692d56f6cf073931ca311a.zip | |
empty function compiles successfully with IR
Diffstat (limited to 'src/parser.cpp')
| -rw-r--r-- | src/parser.cpp | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/src/parser.cpp b/src/parser.cpp index 6ab0024433..cbd96e20ea 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -1912,14 +1912,14 @@ static AstNode *ast_parse_label(ParseContext *pc, size_t *token_index, bool mand return node; } -static AstNode *ast_create_void_expr(ParseContext *pc, Token *token) { - AstNode *node = ast_create_node(pc, NodeTypeContainerInitExpr, token); - node->data.container_init_expr.type = ast_create_node(pc, NodeTypeSymbol, token); - node->data.container_init_expr.kind = ContainerInitKindArray; - node->data.container_init_expr.type->data.symbol_expr.symbol = pc->void_buf; - normalize_parent_ptrs(node); - return node; -} +//static AstNode *ast_create_void_expr(ParseContext *pc, Token *token) { +// AstNode *node = ast_create_node(pc, NodeTypeContainerInitExpr, token); +// node->data.container_init_expr.type = ast_create_node(pc, NodeTypeSymbol, token); +// node->data.container_init_expr.kind = ContainerInitKindArray; +// node->data.container_init_expr.type->data.symbol_expr.symbol = pc->void_buf; +// normalize_parent_ptrs(node); +// return node; +//} /* Block : token(LBrace) list(option(Statement), token(Semicolon)) token(RBrace) @@ -1961,13 +1961,12 @@ static AstNode *ast_parse_block(ParseContext *pc, size_t *token_index, bool mand semicolon_expected = !statement_node; if (!statement_node) { statement_node = ast_parse_non_block_expr(pc, token_index, false); - if (!statement_node) { - statement_node = ast_create_void_expr(pc, last_token); - } } } } - node->data.block.statements.append(statement_node); + if (statement_node) { + node->data.block.statements.append(statement_node); + } last_token = &pc->tokens->at(*token_index); if (last_token->id == TokenIdRBrace) { |
