diff options
author | Chad Rosier <mcrosier@apple.com> | 2011-08-01 19:58:48 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2011-08-01 19:58:48 +0000 |
commit | 8c221b84caff1f10ef4aad5c6ff77d36633f607c (patch) | |
tree | 3fd7b8a820909fc8198c2a747650e57b96869c46 /lib/Driver/Tools.cpp | |
parent | 511949bf7ea721556ea3eb2777fc1e36e6c3e243 (diff) |
Driver: When compiling i386 -fapple-kext code, we fallback to llvmgcc.
Unfortunately, llvmgcc doesn't always work when writing temporary output to
/dev/null. Therefore, create a temp file that is later deleted.
rdar://9837692
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136644 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/Tools.cpp')
-rw-r--r-- | lib/Driver/Tools.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 5fd2b9b486..9748da449c 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -2841,7 +2841,10 @@ void darwin::Compile::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("-o"); // NOTE: gcc uses a temp .s file for this, but there doesn't seem // to be a good reason. - CmdArgs.push_back("/dev/null"); + const char *TmpPath = C.getArgs().MakeArgString( + D.GetTemporaryPath("s")); + C.addTempFile(TmpPath); + CmdArgs.push_back(TmpPath); CmdArgs.push_back("--output-pch="); CmdArgs.push_back(Output.getFilename()); |