| author | |
| committer | |
| log | eaccfffe56655ab11a382685886492e5b9b0865c |
| tree | 47f1d393bb1cfbeb6060fb03a486a14cc31f9542 |
| parent | 6b069f5c8c0f23099287ba340ddf8490c6cdc94d |
2 files changed, 4 insertions(+), 2 deletions(-)
src-self-hosted/translate_c.zig+2-1| ... | @@ -609,7 +609,8 @@ fn visitVarDecl(c: *Context, var_decl: *const ZigClangVarDecl) Error!void { | ... | @@ -609,7 +609,8 @@ fn visitVarDecl(c: *Context, var_decl: *const ZigClangVarDecl) Error!void { |
| 609 | else | 609 | else |
| 610 | try transCreateNodeUndefinedLiteral(c); | 610 | try transCreateNodeUndefinedLiteral(c); |
| 611 | } else if (storage_class != .Extern) { | 611 | } else if (storage_class != .Extern) { |
| 612 | return failDecl(c, var_decl_loc, checked_name, "non-extern variable has no initializer", .{}); | 612 | eq_tok = try appendToken(c, .Equal, "="); |
| 613 | init_node = try transCreateNodeTypeIdentifier(c, "undefined"); | ||
| 613 | } | 614 | } |
| 614 | 615 | ||
| 615 | const linksection_expr = blk: { | 616 | const linksection_expr = blk: { |
test/translate_c.zig+2-1| ... | @@ -337,10 +337,11 @@ pub fn addCases(cases: *tests.TranslateCContext) void { | ... | @@ -337,10 +337,11 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 337 | cases.add("variables", | 337 | cases.add("variables", |
| 338 | \\extern int extern_var; | 338 | \\extern int extern_var; |
| 339 | \\static const int int_var = 13; | 339 | \\static const int int_var = 13; |
| 340 | \\int foo; | ||
| 340 | , &[_][]const u8{ | 341 | , &[_][]const u8{ |
| 341 | \\pub extern var extern_var: c_int; | 342 | \\pub extern var extern_var: c_int; |
| 342 | , | ||
| 343 | \\pub const int_var: c_int = 13; | 343 | \\pub const int_var: c_int = 13; |
| 344 | \\pub export var foo: c_int = undefined; | ||
| 344 | }); | 345 | }); |
| 345 | 346 | ||
| 346 | cases.add("const ptr initializer", | 347 | cases.add("const ptr initializer", |