authorgravatar for thejoshwolfe@gmail.comJosh Wolfe <thejoshwolfe@gmail.com> 2017-04-02 13:18:12-07:00
committergravatar for thejoshwolfe@gmail.comJosh Wolfe <thejoshwolfe@gmail.com> 2017-04-02 13:18:12-07:00
log8d03d666af1b8b14e6702c2502846e3c1a79e9da
tree2b76c08c09b0ae707619bfb20449210bd45f27eb
parente3c796258c766d5de857ce37eeb3bdc5bb353e68

add secret void expression after defer statement if it's the last statement in a block


1 files changed, 5 insertions(+), 1 deletions(-)

src/parser.cpp+5-1
......@@ -2125,8 +2125,12 @@ static AstNode *ast_parse_block(ParseContext *pc, size_t *token_index, bool mand
21252125 statement_node = ast_parse_variable_declaration_expr(pc, token_index, false, VisibModPrivate);
21262126 if (!statement_node) {
21272127 statement_node = ast_parse_defer_expr(pc, token_index);
2128 if (!statement_node)
2128 if (statement_node) {
2129 // don't let defer be the last statement in a block
2130 need_implicit_final_void_statement = true;
2131 } else {
21292132 statement_node = ast_parse_block_expr(pc, token_index, false);
2133 }
21302134 if (statement_node) {
21312135 if (statement_has_block_body(statement_node))
21322136 semicolon_expected = false;