diff options
Diffstat (limited to 'lib/Support/SystemUtils.cpp')
-rw-r--r-- | lib/Support/SystemUtils.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Support/SystemUtils.cpp b/lib/Support/SystemUtils.cpp index dafbf98da8..a39c5ab52f 100644 --- a/lib/Support/SystemUtils.cpp +++ b/lib/Support/SystemUtils.cpp @@ -142,7 +142,10 @@ int llvm::RunProgramWithTimeout(const std::string &ProgramPath, case 0: // Child RedirectFD(StdInFile, 0); // Redirect file descriptors... RedirectFD(StdOutFile, 1); - RedirectFD(StdErrFile, 2); + if (StdOutFile != StdErrFile) + RedirectFD(StdErrFile, 2); + else + dup2(1, 2); execv(ProgramPath.c_str(), (char *const *)Args); std::cerr << "Error executing program: '" << ProgramPath; |