authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-08-10 17:34:08-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-09-19 09:37:30-07:00
logdbf8fb78430895b0c96109754f27f5990212881e
tree20e379bf820d25a0be6c8ea4b8d330ef97a78ba8
parentd123c70d5f18110420cd208a8a8891e41ecc2a94

llvm-ar patch: update main function


1 files changed, 14 insertions(+), 2 deletions(-)

src/zig_llvm-ar.cpp+14-2
......@@ -1426,8 +1426,15 @@ static int ranlib_main(int argc, char **argv) {
14261426 return 0;
14271427}
14281428
1429int llvm_ar_main(int argc, char **argv, const llvm::ToolContext &) {
1430 InitLLVM X(argc, argv);
1429static int llvm_ar_main(int argc, char **argv, const llvm::ToolContext &) {
1430 // ZIG PATCH: On Windows, InitLLVM calls GetCommandLineW(),
1431 // and overwrites the args. We don't want it to do that,
1432 // and we also don't need the signal handlers it installs
1433 // (we have our own already), so we just use llvm_shutdown_obj
1434 // instead.
1435 // InitLLVM X(argc, argv);
1436 llvm::llvm_shutdown_obj X;
1437
14311438 ToolName = argv[0];
14321439
14331440 llvm::InitializeAllTargetInfos();
......@@ -1457,3 +1464,8 @@ int llvm_ar_main(int argc, char **argv, const llvm::ToolContext &) {
14571464
14581465 fail("not ranlib, ar, lib or dlltool");
14591466}
1467
1468extern "C" int ZigLlvmAr_main(int, char **);
1469int ZigLlvmAr_main(int argc, char **argv) {
1470 return llvm_ar_main(argc, argv, {argv[0], nullptr, false});
1471}