diff --git a/lib/Support/Windows/Program.inc b/lib/Support/Windows/Program.inc index a1482bf17c6..7184a3bb30a 100644 --- a/lib/Support/Windows/Program.inc +++ b/lib/Support/Windows/Program.inc @@ -138,7 +138,7 @@ static HANDLE RedirectIO(Optional Path, int fd, if (Path->empty()) fname = "NUL"; else - fname = *Path; + fname = std::string(*Path); SECURITY_ATTRIBUTES sa; sa.nLength = sizeof(sa); diff --git a/lib/Support/Windows/Signals.inc b/lib/Support/Windows/Signals.inc index 8b525f1bd4a..a5c833d30cd 100644 --- a/lib/Support/Windows/Signals.inc +++ b/lib/Support/Windows/Signals.inc @@ -460,7 +460,7 @@ bool sys::RemoveFileOnSignal(StringRef Filename, std::string* ErrMsg) { if (FilesToRemove == NULL) FilesToRemove = new std::vector; - FilesToRemove->push_back(Filename); + FilesToRemove->push_back(std::string(Filename)); LeaveCriticalSection(&CriticalSection); return false;