zig cc: work around clang calling GetCommandLine on Windows
This commit is contained in:
parent
bcca76b3c4
commit
8c2c6368f9
10
src/main.cpp
10
src/main.cpp
|
@ -260,13 +260,9 @@ int main(int argc, char **argv) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (argc >= 2 && (strcmp(argv[1], "cc") == 0)) {
|
||||
return ZigClang_main(argc - 1, argv + 1);
|
||||
}
|
||||
if (argc >= 2 && strcmp(argv[1], "-cc1") == 0) {
|
||||
return ZigClang_main(argc, argv);
|
||||
}
|
||||
if (argc >= 2 && strcmp(argv[1], "-cc1as") == 0) {
|
||||
if (argc >= 2 && (strcmp(argv[1], "cc") == 0 ||
|
||||
strcmp(argv[1], "-cc1") == 0 || strcmp(argv[1], "-cc1as") == 0))
|
||||
{
|
||||
return ZigClang_main(argc, argv);
|
||||
}
|
||||
|
||||
|
|
|
@ -318,7 +318,8 @@ static int ExecuteCC1Tool(ArrayRef<const char *> argv, StringRef Tool) {
|
|||
extern "C" int ZigClang_main(int argc_, const char **argv_);
|
||||
int ZigClang_main(int argc_, const char **argv_) {
|
||||
llvm::InitLLVM X(argc_, argv_);
|
||||
SmallVector<const char *, 256> argv(argv_, argv_ + argc_);
|
||||
size_t argv_offset = (strcmp(argv_[1], "-cc1") == 0 || strcmp(argv_[1], "-cc1as") == 0) ? 0 : 1;
|
||||
SmallVector<const char *, 256> argv(argv_ + argv_offset, argv_ + argc_);
|
||||
|
||||
if (llvm::sys::Process::FixupStandardFileDescriptors())
|
||||
return 1;
|
||||
|
|
Loading…
Reference in New Issue
Block a user