zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 0cbf00a3ec3f6640556e39efaa6e936b0b42630b (tree)
parent 010494d8af69ecbb14619ebab177c32a074b69e5
Author: Vexu <15308111+Vexu@users.noreply.github.com>
Date:   Sun, 24 Nov 2019 09:13:01 +0200

self hosted compiler: final small fixes to get it compiling

Diffstat:
Mbuild.zig | 5++++-
Msrc-self-hosted/compilation.zig | 3+++
Msrc-self-hosted/test.zig | 10+++++++---
3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/build.zig b/build.zig @@ -74,7 +74,7 @@ pub fn build(b: *Builder) !void { const skip_libc = b.option(bool, "skip-libc", "Main test suite skips tests that link libc") orelse false; const skip_self_hosted = b.option(bool, "skip-self-hosted", "Main test suite skips building self hosted compiler") orelse false; if (!skip_self_hosted and builtin.os == .linux) { - // TODO evented I/O other OS'spu + // TODO evented I/O other OS's test_step.dependOn(&exe.step); } @@ -232,6 +232,9 @@ fn findLLVM(b: *Builder, llvm_config_exe: []const u8) !LibraryDep { if (fs.path.isAbsolute(lib_arg)) { try result.libs.append(lib_arg); } else { + if (mem.endsWith(u8, lib_arg, ".lib")) { + lib_arg = lib_arg[0 .. lib_arg.len - 4]; + } try result.system_libs.append(lib_arg); } } diff --git a/src-self-hosted/compilation.zig b/src-self-hosted/compilation.zig @@ -517,6 +517,9 @@ pub const Compilation = struct { comp.target_layout_str = llvm.CopyStringRepOfTargetData(comp.target_data_ref) orelse return error.OutOfMemory; defer llvm.DisposeMessage(comp.target_layout_str); + comp.events = try allocator.create(event.Channel(Event)); + defer allocator.destroy(comp.events); + comp.events.init([0]Event{}); defer comp.events.deinit(); diff --git a/src-self-hosted/test.zig b/src-self-hosted/test.zig @@ -13,12 +13,16 @@ test "stage2" { // TODO provide a way to run tests in evented I/O mode if (!std.io.is_async) return error.SkipZigTest; + // TODO https://github.com/ziglang/zig/issues/1364 + // TODO https://github.com/ziglang/zig/issues/3117 + if (true) return error.SkipZigTest; + try ctx.init(); defer ctx.deinit(); try @import("stage2_tests").addCases(&ctx); - _ = async ctx.run(); + try ctx.run(); } const file1 = "1.zig"; @@ -61,8 +65,8 @@ pub const TestContext = struct { self.zig_compiler.deinit(); } - fn run(self: *TestContext) void { - std.event.Loop.instance.?.startCpuBoundOperation(); + fn run(self: *TestContext) !void { + std.event.Loop.startCpuBoundOperation(); self.any_err = self.group.wait(); return self.any_err; }