aboutsummaryrefslogtreecommitdiff
path: root/src/link/Coff.zig
diff options
context:
space:
mode:
authorTimon Kruiper <timonkruiper@gmail.com>2020-12-21 10:21:30 +0100
committerTimon Kruiper <timonkruiper@gmail.com>2020-12-28 21:20:49 +0100
commit6b8d28312ccca56d652af32bad360e9a5394fb8e (patch)
treef68700b2da3329968bc6c17e24ec085a8598d65b /src/link/Coff.zig
parentb059bb84b85ca7914d617cae7c4960a798412ea5 (diff)
downloadzig-6b8d28312ccca56d652af32bad360e9a5394fb8e.tar.gz
zig-6b8d28312ccca56d652af32bad360e9a5394fb8e.zip
stage2: fix building self-hosted without llvm-backend enabled.
Diffstat (limited to 'src/link/Coff.zig')
-rw-r--r--src/link/Coff.zig18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/link/Coff.zig b/src/link/Coff.zig
index 161a4092f4..8c60086010 100644
--- a/src/link/Coff.zig
+++ b/src/link/Coff.zig
@@ -125,7 +125,7 @@ pub const SrcFn = void;
pub fn openPath(allocator: *Allocator, sub_path: []const u8, options: link.Options) !*Coff {
assert(options.object_format == .coff);
- if (options.use_llvm) {
+ if (build_options.have_llvm and options.use_llvm) {
const self = try createEmpty(allocator, options);
errdefer self.base.destroy();
@@ -657,10 +657,8 @@ pub fn updateDecl(self: *Coff, module: *Module, decl: *Module.Decl) !void {
const tracy = trace(@src());
defer tracy.end();
- if (self.llvm_ir_module) |llvm_ir_module| {
- try llvm_ir_module.updateDecl(module, decl);
- return;
- }
+ if (build_options.have_llvm)
+ if (self.llvm_ir_module) |llvm_ir_module| return try llvm_ir_module.updateDecl(module, decl);
var code_buffer = std.ArrayList(u8).init(self.base.allocator);
defer code_buffer.deinit();
@@ -760,10 +758,8 @@ pub fn flushModule(self: *Coff, comp: *Compilation) !void {
const tracy = trace(@src());
defer tracy.end();
- if (self.llvm_ir_module) |llvm_ir_module| {
- try llvm_ir_module.flushModule(comp);
- return;
- }
+ if (build_options.have_llvm)
+ if (self.llvm_ir_module) |llvm_ir_module| return try llvm_ir_module.flushModule(comp);
if (self.text_section_size_dirty) {
// Write the new raw size in the .text header
@@ -1257,7 +1253,9 @@ pub fn updateDeclLineNumber(self: *Coff, module: *Module, decl: *Module.Decl) !v
}
pub fn deinit(self: *Coff) void {
- if (self.llvm_ir_module) |ir_module| ir_module.deinit(self.base.allocator);
+ if (build_options.have_llvm)
+ if (self.llvm_ir_module) |ir_module| ir_module.deinit(self.base.allocator);
+
self.text_block_free_list.deinit(self.base.allocator);
self.offset_table.deinit(self.base.allocator);
self.offset_table_free_list.deinit(self.base.allocator);