Commit 0d1f64b08c
Changed files (2)
src
test
src/parsec.cpp
@@ -2777,7 +2777,7 @@ static void visit_var_decl(Context *c, const VarDecl *var_decl) {
init_node = trans_create_node_apint(c, ap_value->getInt());
break;
case APValue::Uninitialized:
- init_node = trans_create_node_symbol_str(c, "undefined");
+ init_node = trans_create_node(c, NodeTypeUndefinedLiteral);
break;
case APValue::Float:
case APValue::ComplexInt:
@@ -2794,7 +2794,7 @@ static void visit_var_decl(Context *c, const VarDecl *var_decl) {
return;
}
} else {
- init_node = trans_create_node_symbol_str(c, "undefined");
+ init_node = trans_create_node(c, NodeTypeUndefinedLiteral);
}
AstNode *var_node = trans_create_node_var_decl_global(c, is_const, name, var_type, init_node);
test/parsec.zig
@@ -490,4 +490,10 @@ pub fn addCases(cases: &tests.ParseCContext) {
,
\\export fn foo() {}
);
+
+ cases.add("undefined array global",
+ \\int array[100];
+ ,
+ \\pub var array: [100]c_int = undefined;
+ );
}