aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src-self-hosted/translate_c.zig3
-rw-r--r--test/translate_c.zig3
2 files changed, 4 insertions, 2 deletions
diff --git a/src-self-hosted/translate_c.zig b/src-self-hosted/translate_c.zig
index 0fc2feba7a..25cbea1cc7 100644
--- a/src-self-hosted/translate_c.zig
+++ b/src-self-hosted/translate_c.zig
@@ -609,7 +609,8 @@ fn visitVarDecl(c: *Context, var_decl: *const ZigClangVarDecl) Error!void {
else
try transCreateNodeUndefinedLiteral(c);
} else if (storage_class != .Extern) {
- return failDecl(c, var_decl_loc, checked_name, "non-extern variable has no initializer", .{});
+ eq_tok = try appendToken(c, .Equal, "=");
+ init_node = try transCreateNodeTypeIdentifier(c, "undefined");
}
const linksection_expr = blk: {
diff --git a/test/translate_c.zig b/test/translate_c.zig
index 3e7d15a239..29a65c8624 100644
--- a/test/translate_c.zig
+++ b/test/translate_c.zig
@@ -337,10 +337,11 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
cases.add("variables",
\\extern int extern_var;
\\static const int int_var = 13;
+ \\int foo;
, &[_][]const u8{
\\pub extern var extern_var: c_int;
- ,
\\pub const int_var: c_int = 13;
+ \\pub export var foo: c_int = undefined;
});
cases.add("const ptr initializer",