From 013d615077ad0759eb2eef5276f44abaa18ad1d2 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 14 Nov 2022 01:53:14 -0500 Subject: [PATCH] Merge pull request #13536 from ziglang/cbe-zig-h C backend: improve ergonomics of zig.h a little bit --- lib/{include => }/zig.h | 2 -- src/link/C.zig | 2 +- src/main.zig | 4 ++++ src/test.zig | 3 +++ 4 files changed, 8 insertions(+), 3 deletions(-) rename lib/{include => }/zig.h (99%) diff --git a/lib/include/zig.h b/lib/zig.h similarity index 99% rename from lib/include/zig.h rename to lib/zig.h index c6df066162..e8329494d4 100644 --- a/lib/include/zig.h +++ b/lib/zig.h @@ -220,8 +220,6 @@ typedef uint8_t zig_u8; typedef int8_t zig_i8; typedef uint16_t zig_u16; typedef int16_t zig_i16; -typedef uint16_t zig_u16; -typedef int16_t zig_i16; typedef uint32_t zig_u32; typedef int32_t zig_i32; typedef uint64_t zig_u64; diff --git a/src/link/C.zig b/src/link/C.zig index a52ac63df5..4af69e6fcf 100644 --- a/src/link/C.zig +++ b/src/link/C.zig @@ -15,7 +15,7 @@ const Air = @import("../Air.zig"); const Liveness = @import("../Liveness.zig"); pub const base_tag: link.File.Tag = .c; -pub const zig_h = "#include \n"; +pub const zig_h = "#include \"zig.h\"\n"; base: link.File, /// This linker backend does not try to incrementally link output C source code. diff --git a/src/main.zig b/src/main.zig index d0edbbed6d..1e82315175 100644 --- a/src/main.zig +++ b/src/main.zig @@ -3021,6 +3021,10 @@ fn buildOutputType( }); try test_exec_args.append(self_exe_path); try test_exec_args.append("run"); + if (zig_lib_directory.path) |p| { + try test_exec_args.appendSlice(&.{ "-I", p }); + } + if (link_libc) try test_exec_args.append("-lc"); if (!mem.eql(u8, target_arch_os_abi, "native")) { try test_exec_args.append("-target"); diff --git a/src/test.zig b/src/test.zig index 41e5f23025..c6d55b806e 100644 --- a/src/test.zig +++ b/src/test.zig @@ -1812,6 +1812,9 @@ pub const TestContext = struct { "-lc", exe_path, }); + if (zig_lib_directory.path) |p| { + try argv.appendSlice(&.{ "-I", p }); + } } else switch (host.getExternalExecutor(target_info, .{ .link_libc = case.link_libc })) { .native => try argv.append(exe_path), .bad_dl, .bad_os_or_cpu => continue :update, // Pass test.