diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2011-11-06 00:40:05 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2011-11-06 00:40:05 +0000 |
commit | 54db68bf0e389b8aabe1a434f825a81a9c1f7db8 (patch) | |
tree | dd8f12ac2cfbab7053e25690768b992f262dbf53 /lib/Driver/Compilation.cpp | |
parent | df0a4c374b923f924d5ebcb008090928d408ea1c (diff) |
Add the depfile as a result file so that it is deleted if we crash,
and prevent the diagnostic preprocessor run from writing a depfile.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143846 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/Compilation.cpp')
-rw-r--r-- | lib/Driver/Compilation.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/Driver/Compilation.cpp b/lib/Driver/Compilation.cpp index d02da9588a..42c84493fa 100644 --- a/lib/Driver/Compilation.cpp +++ b/lib/Driver/Compilation.cpp @@ -217,8 +217,12 @@ void Compilation::initCompilationForDiagnostics(void) { // Remove any user specified output. Claim any unclaimed arguments, so as // to avoid emitting warnings about unused args. - if (TranslatedArgs->hasArg(options::OPT_o)) - TranslatedArgs->eraseArg(options::OPT_o); + OptSpecifier OutputOpts[] = { options::OPT_o, options::OPT_MD, + options::OPT_MMD }; + for (unsigned i = 0; i != sizeof(OutputOpts)/sizeof(OutputOpts[0]); ++i) { + if (TranslatedArgs->hasArg(OutputOpts[i])) + TranslatedArgs->eraseArg(OutputOpts[i]); + } TranslatedArgs->ClaimAllArgs(); // Redirect stdout/stderr to /dev/null. |