diff --git a/src-self-hosted/libc_installation.zig b/src-self-hosted/libc_installation.zig index b196d7bc70..6a530da1f0 100644 --- a/src-self-hosted/libc_installation.zig +++ b/src-self-hosted/libc_installation.zig @@ -283,7 +283,7 @@ pub const LibCInstallation = struct { switch (builtin.arch) { builtin.Arch.i386 => try stream.write("x86"), builtin.Arch.x86_64 => try stream.write("x64"), - builtin.Arch.aarch64v8 => try stream.write("arm"), + builtin.Arch.aarch64 => try stream.write("arm"), else => return error.UnsupportedArchitecture, } const ucrt_lib_path = try std.os.path.join( @@ -361,7 +361,7 @@ pub const LibCInstallation = struct { switch (builtin.arch) { builtin.Arch.i386 => try stream.write("x86\\"), builtin.Arch.x86_64 => try stream.write("x64\\"), - builtin.Arch.aarch64v8 => try stream.write("arm\\"), + builtin.Arch.aarch64 => try stream.write("arm\\"), else => return error.UnsupportedArchitecture, } const kernel32_path = try std.os.path.join( diff --git a/src/codegen.cpp b/src/codegen.cpp index 4e8cd070f4..58682cdd88 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -8174,20 +8174,19 @@ static void gen_c_object(CodeGen *g, Buf *self_exe_path, CFile *c_file) { args.append(buf_ptr(out_dep_path)); } - args.append("-nobuiltininc"); args.append("-nostdinc"); - args.append("-nostdinc++"); - - if (g->libc_link_lib == nullptr) { - args.append("-nolibc"); - } - args.append("-fno-spell-checking"); args.append("-isystem"); args.append(buf_ptr(g->zig_c_headers_dir)); if (g->libc != nullptr) { + if (buf_len(&g->libc->msvc_lib_dir) != 0) { + Buf *include_dir = buf_sprintf("%s" OS_SEP ".." OS_SEP ".." OS_SEP "include", buf_ptr(&g->libc->msvc_lib_dir)); + args.append("-isystem"); + args.append(buf_ptr(include_dir)); + } + args.append("-isystem"); args.append(buf_ptr(&g->libc->include_dir)); } diff --git a/src/libc_installation.cpp b/src/libc_installation.cpp index 6e410ad5ac..5591aa1bbb 100644 --- a/src/libc_installation.cpp +++ b/src/libc_installation.cpp @@ -172,7 +172,7 @@ static Error zig_libc_find_crt_dir_windows(ZigLibCInstallation *self, ZigWindows bool verbose) { Error err; - if ((err = os_get_win32_ucrt_lib_path(sdk, &self->crt_dir, target->arch.arch))) { + if ((err = os_get_win32_ucrt_lib_path(sdk, &self->crt_dir, target->arch))) { if (verbose) { fprintf(stderr, "Unable to determine ucrt path: %s\n", err_str(err)); } @@ -184,7 +184,7 @@ static Error zig_libc_find_kernel32_lib_dir(ZigLibCInstallation *self, ZigWindow bool verbose) { Error err; - if ((err = os_get_win32_kern32_path(sdk, &self->kernel32_lib_dir, target->arch.arch))) { + if ((err = os_get_win32_kern32_path(sdk, &self->kernel32_lib_dir, target->arch))) { if (verbose) { fprintf(stderr, "Unable to determine kernel32 path: %s\n", err_str(err)); } diff --git a/src/translate_c.cpp b/src/translate_c.cpp index 8525d73f56..c38de6bf8c 100644 --- a/src/translate_c.cpp +++ b/src/translate_c.cpp @@ -4815,6 +4815,12 @@ Error parse_h_file(ImportTableEntry *import, ZigList *errors, const clang_argv.append(buf_ptr(codegen->zig_c_headers_dir)); if (codegen->libc != nullptr) { + if (buf_len(&codegen->libc->msvc_lib_dir) != 0) { + Buf *include_dir = buf_sprintf("%s" OS_SEP ".." OS_SEP ".." OS_SEP "include", buf_ptr(&codegen->libc->msvc_lib_dir)); + clang_argv.append("-isystem"); + clang_argv.append(buf_ptr(include_dir)); + } + clang_argv.append("-isystem"); clang_argv.append(buf_ptr(&codegen->libc->include_dir)); }