| ... | @@ -3235,6 +3235,12 @@ pub fn updateDecl(self: *MachO, module: *Module, decl: *Module.Decl) !void { | ... | @@ -3235,6 +3235,12 @@ pub fn updateDecl(self: *MachO, module: *Module, decl: *Module.Decl) !void { |
| 3235 | if (decl.val.tag() == .extern_fn) { | 3235 | if (decl.val.tag() == .extern_fn) { |
| 3236 | return; // TODO Should we do more when front-end analyzed extern decl? | 3236 | return; // TODO Should we do more when front-end analyzed extern decl? |
| 3237 | } | 3237 | } |
| | 3238 | if (decl.val.castTag(.variable)) |payload| { |
| | 3239 | const variable = payload.data; |
| | 3240 | if (variable.is_extern) { |
| | 3241 | return; // TODO Should we do more when front-end analyzed extern decl? |
| | 3242 | } |
| | 3243 | } |
| 3238 | | 3244 | |
| 3239 | var code_buffer = std.ArrayList(u8).init(self.base.allocator); | 3245 | var code_buffer = std.ArrayList(u8).init(self.base.allocator); |
| 3240 | defer code_buffer.deinit(); | 3246 | defer code_buffer.deinit(); |
| ... | @@ -3258,10 +3264,11 @@ pub fn updateDecl(self: *MachO, module: *Module, decl: *Module.Decl) !void { | ... | @@ -3258,10 +3264,11 @@ pub fn updateDecl(self: *MachO, module: *Module, decl: *Module.Decl) !void { |
| 3258 | | 3264 | |
| 3259 | self.active_decl = decl; | 3265 | self.active_decl = decl; |
| 3260 | | 3266 | |
| | 3267 | const decl_val = if (decl.val.castTag(.variable)) |payload| payload.data.init else decl.val; |
| 3261 | const res = if (debug_buffers) |dbg| | 3268 | const res = if (debug_buffers) |dbg| |
| 3262 | try codegen.generateSymbol(&self.base, decl.srcLoc(), .{ | 3269 | try codegen.generateSymbol(&self.base, decl.srcLoc(), .{ |
| 3263 | .ty = decl.ty, | 3270 | .ty = decl.ty, |
| 3264 | .val = decl.val, | 3271 | .val = decl_val, |
| 3265 | }, &code_buffer, .{ | 3272 | }, &code_buffer, .{ |
| 3266 | .dwarf = .{ | 3273 | .dwarf = .{ |
| 3267 | .dbg_line = &dbg.dbg_line_buffer, | 3274 | .dbg_line = &dbg.dbg_line_buffer, |
| ... | @@ -3272,7 +3279,7 @@ pub fn updateDecl(self: *MachO, module: *Module, decl: *Module.Decl) !void { | ... | @@ -3272,7 +3279,7 @@ pub fn updateDecl(self: *MachO, module: *Module, decl: *Module.Decl) !void { |
| 3272 | else | 3279 | else |
| 3273 | try codegen.generateSymbol(&self.base, decl.srcLoc(), .{ | 3280 | try codegen.generateSymbol(&self.base, decl.srcLoc(), .{ |
| 3274 | .ty = decl.ty, | 3281 | .ty = decl.ty, |
| 3275 | .val = decl.val, | 3282 | .val = decl_val, |
| 3276 | }, &code_buffer, .none); | 3283 | }, &code_buffer, .none); |
| 3277 | | 3284 | |
| 3278 | const code = blk: { | 3285 | const code = blk: { |