diff --git a/lib/Support/Windows/Process.inc b/lib/Support/Windows/Process.inc index 9eeca62d9d6..61749a72727 100644 --- a/lib/Support/Windows/Process.inc +++ b/lib/Support/Windows/Process.inc @@ -213,6 +213,11 @@ WildcardExpand(const wchar_t *Arg, SmallVectorImpl &Args, return ConvertAndPushArg(Arg, Args, Allocator); } + if (wcscmp(Arg, L"/?") == 0 || wcscmp(Arg, L"-?") == 0) { + // Don't wildcard expand /?. Always treat it as an option. + return ConvertAndPushArg(Arg, Args, Allocator); + } + // Extract any directory part of the argument. SmallVector Dir; if (std::error_code ec = windows::UTF16ToUTF8(Arg, wcslen(Arg), Dir))