aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser.cpp')
-rw-r--r--src/parser.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/parser.cpp b/src/parser.cpp
index bb75a0da6e..280f8da4d7 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -2266,7 +2266,7 @@ static AstNode *ast_parse_struct_decl(ParseContext *pc, int *token_index) {
}
/*
-TopLevelDecl : FnDef | ExternBlock | RootExportDecl | Use | StructDecl
+TopLevelDecl : FnDef | ExternBlock | RootExportDecl | Use | StructDecl | VariableDeclaration
*/
static void ast_parse_top_level_decls(ParseContext *pc, int *token_index, ZigList<AstNode *> *top_level_decls) {
for (;;) {
@@ -2310,6 +2310,13 @@ static void ast_parse_top_level_decls(ParseContext *pc, int *token_index, ZigLis
}
pc->directive_list = nullptr;
+ AstNode *var_decl_node = ast_parse_variable_declaration_expr(pc, token_index, false);
+ if (var_decl_node) {
+ ast_eat_token(pc, token_index, TokenIdSemicolon);
+ top_level_decls->append(var_decl_node);
+ continue;
+ }
+
return;
}
zig_unreachable();