Index: clang/lib/Driver/Driver.cpp =================================================================== --- clang/lib/Driver/Driver.cpp +++ clang/lib/Driver/Driver.cpp @@ -1635,7 +1635,11 @@ const char *TmpName = CreateTempFile(C, "linker-crash", "tar"); Command NewLLDInvocation = Cmd; llvm::opt::ArgStringList ArgList = NewLLDInvocation.getArguments(); - ArgList.push_back(Saver.save(Twine{"--reproduce="} + TmpName).data()); + Twine ReproduceOption = + C.getDefaultToolChain().getTriple().isOSBinFormatCOFF() + ? "/reproduce:" + : "--reproduce="; + ArgList.push_back(Saver.save(ReproduceOption + TmpName).data()); NewLLDInvocation.replaceArguments(std::move(ArgList)); // Redirect stdout/stderr to /dev/null. Index: clang/test/Driver/lld-repro.c =================================================================== --- clang/test/Driver/lld-repro.c +++ clang/test/Driver/lld-repro.c @@ -1,6 +1,7 @@ -// REQUIRES: lld, x86-registered-target +// REQUIRES: lld +// UNSUPPORTED: ps4 -// RUN: not %clang %s -target x86_64-linux -nostartfiles -nostdlib -fuse-ld=lld -gen-reproducer=error -fcrash-diagnostics-dir=%t -fcrash-diagnostics=all 2>&1 \ +// RUN: not %clang %s -nostartfiles -nostdlib -fuse-ld=lld -gen-reproducer=error -fcrash-diagnostics-dir=%t -fcrash-diagnostics=all 2>&1 \ // RUN: | FileCheck %s // check that we still get lld's output @@ -13,9 +14,9 @@ // CHECK-NEXT: note: diagnostic msg: // CHECK: ******************** -// RUN: not %clang %s -target x86_64-linux -nostartfiles -nostdlib -fuse-ld=lld -gen-reproducer=error -fcrash-diagnostics-dir=%t -fcrash-diagnostics=compiler 2>&1 \ +// RUN: not %clang %s -nostartfiles -nostdlib -fuse-ld=lld -gen-reproducer=error -fcrash-diagnostics-dir=%t -fcrash-diagnostics=compiler 2>&1 \ // RUN: | FileCheck %s --check-prefix=NO-LINKER -// RUN: not %clang %s -target x86_64-linux -nostartfiles -nostdlib -fuse-ld=lld -gen-reproducer=error -fcrash-diagnostics-dir=%t 2>&1 \ +// RUN: not %clang %s -nostartfiles -nostdlib -fuse-ld=lld -gen-reproducer=error -fcrash-diagnostics-dir=%t 2>&1 \ // RUN: | FileCheck %s --check-prefix=NO-LINKER // NO-LINKER-NOT: Preprocessed source(s) and associated run script(s) are located at: