| ... | ... | @@ -3235,6 +3235,12 @@ pub fn updateDecl(self: *MachO, module: *Module, decl: *Module.Decl) !void { |
| 3235 | 3235 | if (decl.val.tag() == .extern_fn) { |
| 3236 | 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 | 3245 | var code_buffer = std.ArrayList(u8).init(self.base.allocator); |
| 3240 | 3246 | defer code_buffer.deinit(); |
| ... | ... | @@ -3258,10 +3264,11 @@ pub fn updateDecl(self: *MachO, module: *Module, decl: *Module.Decl) !void { |
| 3258 | 3264 | |
| 3259 | 3265 | self.active_decl = decl; |
| 3260 | 3266 | |
| 3267 | const decl_val = if (decl.val.castTag(.variable)) |payload| payload.data.init else decl.val; |
| 3261 | 3268 | const res = if (debug_buffers) |dbg| |
| 3262 | 3269 | try codegen.generateSymbol(&self.base, decl.srcLoc(), .{ |
| 3263 | 3270 | .ty = decl.ty, |
| 3264 | | .val = decl.val, |
| 3271 | .val = decl_val, |
| 3265 | 3272 | }, &code_buffer, .{ |
| 3266 | 3273 | .dwarf = .{ |
| 3267 | 3274 | .dbg_line = &dbg.dbg_line_buffer, |
| ... | ... | @@ -3272,7 +3279,7 @@ pub fn updateDecl(self: *MachO, module: *Module, decl: *Module.Decl) !void { |
| 3272 | 3279 | else |
| 3273 | 3280 | try codegen.generateSymbol(&self.base, decl.srcLoc(), .{ |
| 3274 | 3281 | .ty = decl.ty, |
| 3275 | | .val = decl.val, |
| 3282 | .val = decl_val, |
| 3276 | 3283 | }, &code_buffer, .none); |
| 3277 | 3284 | |
| 3278 | 3285 | const code = blk: { |