aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/c.zig
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2022-10-31 22:31:47 -0400
committerJacob Young <jacobly0@users.noreply.github.com>2022-11-01 20:38:51 -0400
commit91fe0b80a22b43cd56e7fb747311d50f2fcd5441 (patch)
tree9fa785517c1a251315882857ccd80529c290649f /src/codegen/c.zig
parent757db665a79d7885d1c8f83df65a25adc7af9a69 (diff)
downloadzig-91fe0b80a22b43cd56e7fb747311d50f2fcd5441.tar.gz
zig-91fe0b80a22b43cd56e7fb747311d50f2fcd5441.zip
cbe: fix threadlocal
Diffstat (limited to 'src/codegen/c.zig')
-rw-r--r--src/codegen/c.zig9
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) {