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 | 96d690ccdf2e1743a72f45a6b139af4b945e562e (patch) | |
tree | 56bb9b05fb0dfa077dc77249a83eba94965429f2 /clang | |
parent | c099a6f9ce059ca334cc7b173e450a0c94bb770e (diff) | |
download | bcm5719-llvm-96d690ccdf2e1743a72f45a6b139af4b945e562e.tar.gz bcm5719-llvm-96d690ccdf2e1743a72f45a6b139af4b945e562e.zip |
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
llvm-svn: 136644
Diffstat (limited to 'clang')
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 5fd2b9b4864..9748da449c3 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/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()); |