authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-02-24 15:30:30-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-02-24 15:31:02-05:00
log8c2c6368f9645def45374c2fb9027bf72b15ab2e
treed46e25b31cce63f274d46ccd2556a1c698095c33
parentbcca76b3c4c6dcb24435db7a3a10d2319ef4c3aa
signaturelock-open Commit is signed but in an unrecognized format.

zig cc: work around clang calling GetCommandLine on Windows


2 files changed, 5 insertions(+), 8 deletions(-)

src/main.cpp+3-7
...@@ -260,13 +260,9 @@ int main(int argc, char **argv) {...@@ -260,13 +260,9 @@ int main(int argc, char **argv) {
260 return 0;260 return 0;
261 }261 }
262262
263 if (argc >= 2 && (strcmp(argv[1], "cc") == 0)) {263 if (argc >= 2 && (strcmp(argv[1], "cc") == 0 ||
264 return ZigClang_main(argc - 1, argv + 1);264 strcmp(argv[1], "-cc1") == 0 || strcmp(argv[1], "-cc1as") == 0))
265 }265 {
266 if (argc >= 2 && strcmp(argv[1], "-cc1") == 0) {
267 return ZigClang_main(argc, argv);
268 }
269 if (argc >= 2 && strcmp(argv[1], "-cc1as") == 0) {
270 return ZigClang_main(argc, argv);266 return ZigClang_main(argc, argv);
271 }267 }
272268
src/zig_clang_driver.cpp+2-1
...@@ -318,7 +318,8 @@ static int ExecuteCC1Tool(ArrayRef<const char *> argv, StringRef Tool) {...@@ -318,7 +318,8 @@ static int ExecuteCC1Tool(ArrayRef<const char *> argv, StringRef Tool) {
318extern "C" int ZigClang_main(int argc_, const char **argv_);318extern "C" int ZigClang_main(int argc_, const char **argv_);
319int ZigClang_main(int argc_, const char **argv_) {319int ZigClang_main(int argc_, const char **argv_) {
320 llvm::InitLLVM X(argc_, argv_);320 llvm::InitLLVM X(argc_, argv_);
321 SmallVector<const char *, 256> argv(argv_, argv_ + argc_);321 size_t argv_offset = (strcmp(argv_[1], "-cc1") == 0 || strcmp(argv_[1], "-cc1as") == 0) ? 0 : 1;
322 SmallVector<const char *, 256> argv(argv_ + argv_offset, argv_ + argc_);
322323
323 if (llvm::sys::Process::FixupStandardFileDescriptors())324 if (llvm::sys::Process::FixupStandardFileDescriptors())
324 return 1;325 return 1;