authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-03-25 12:28:41-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-03-25 12:28:41-04:00
logf313ab18aecea1ade0b6a90d671352a641ad351a
treef0c540296b5209a33bddba91298e64c300830a83
parent6cbe589b51c9404a0f485733cbc4e3b46499d480
signaturelock-open Commit is signed but in an unrecognized format.

zig cc: freestanding target implies -nostdlib


1 files changed, 8 insertions(+), 6 deletions(-)

src/main.cpp+8-6
......@@ -455,6 +455,7 @@ static int main0(int argc, char **argv) {
455455 CodeModel code_model = CodeModelDefault;
456456 const char *override_soname = nullptr;
457457 bool only_preprocess = false;
458 bool ensure_libc_on_non_freestanding = false;
458459
459460 ZigList<const char *> llvm_argv = {0};
460461 llvm_argv.append("zig (LLVM option parsing)");
......@@ -582,11 +583,11 @@ static int main0(int argc, char **argv) {
582583 } else if (argc >= 2 && strcmp(argv[1], "cc") == 0) {
583584 emit_h = false;
584585 strip = true;
586 ensure_libc_on_non_freestanding = true;
585587
586588 bool c_arg = false;
587589 Stage2ClangArgIterator it;
588590 stage2_clang_arg_iterator(&it, argc, argv);
589 bool nostdlib = false;
590591 bool is_shared_lib = false;
591592 ZigList<Buf *> linker_args = {};
592593 while (it.has_next) {
......@@ -645,7 +646,7 @@ static int main0(int argc, char **argv) {
645646 want_pic = WantPICDisabled;
646647 break;
647648 case Stage2ClangArgNoStdLib:
648 nostdlib = true;
649 ensure_libc_on_non_freestanding = false;
649650 break;
650651 case Stage2ClangArgShared:
651652 is_dynamic = true;
......@@ -772,10 +773,6 @@ static int main0(int argc, char **argv) {
772773 build_mode = BuildModeSafeRelease;
773774 }
774775
775 if (!nostdlib && !have_libc) {
776 have_libc = true;
777 link_libs.append("c");
778 }
779776 if (only_preprocess) {
780777 cmd = CmdBuild;
781778 out_type = OutTypeObj;
......@@ -1216,6 +1213,11 @@ static int main0(int argc, char **argv) {
12161213 return print_error_usage(arg0);
12171214 }
12181215
1216 if (!have_libc && ensure_libc_on_non_freestanding && target.os != OsFreestanding) {
1217 have_libc = true;
1218 link_libs.append("c");
1219 }
1220
12191221 Buf zig_triple_buf = BUF_INIT;
12201222 target_triple_zig(&zig_triple_buf, &target);
12211223