diff options
| author | Jacob Young <jacobly0@users.noreply.github.com> | 2022-10-31 22:31:47 -0400 |
|---|---|---|
| committer | Jacob Young <jacobly0@users.noreply.github.com> | 2022-11-01 20:38:51 -0400 |
| commit | 91fe0b80a22b43cd56e7fb747311d50f2fcd5441 (patch) | |
| tree | 9fa785517c1a251315882857ccd80529c290649f /src/codegen | |
| parent | 757db665a79d7885d1c8f83df65a25adc7af9a69 (diff) | |
| download | zig-91fe0b80a22b43cd56e7fb747311d50f2fcd5441.tar.gz zig-91fe0b80a22b43cd56e7fb747311d50f2fcd5441.zip | |
cbe: fix threadlocal
Diffstat (limited to 'src/codegen')
| -rw-r--r-- | src/codegen/c.zig | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/codegen/c.zig b/src/codegen/c.zig index f8fa2a1003..f05475a968 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -2236,12 +2236,6 @@ pub fn genDecl(o: *Object) !void { const variable: *Module.Var = var_payload.data; const is_global = o.dg.declIsGlobal(tv) or variable.is_extern; const fwd_decl_writer = o.dg.fwd_decl.writer(); - if (is_global) { - try fwd_decl_writer.writeAll("zig_extern_c "); - } - if (variable.is_threadlocal) { - try fwd_decl_writer.writeAll("zig_threadlocal "); - } const decl_c_value: CValue = if (is_global) .{ .bytes = mem.span(o.dg.decl.name), @@ -2249,6 +2243,8 @@ pub fn genDecl(o: *Object) !void { .decl = o.dg.decl_index, }; + if (is_global) try fwd_decl_writer.writeAll("zig_extern_c "); + if (variable.is_threadlocal) try fwd_decl_writer.writeAll("zig_threadlocal "); try o.dg.renderTypeAndName(fwd_decl_writer, o.dg.decl.ty, decl_c_value, .Mut, o.dg.decl.@"align", .Complete); try fwd_decl_writer.writeAll(";\n"); @@ -2257,6 +2253,7 @@ pub fn genDecl(o: *Object) !void { } const w = o.writer(); + if (variable.is_threadlocal) try w.writeAll("zig_threadlocal "); try o.dg.renderTypeAndName(w, o.dg.decl.ty, decl_c_value, .Mut, o.dg.decl.@"align", .Complete); try w.writeAll(" = "); if (variable.init.tag() != .unreachable_value) { |
