diff options
author | Chad Rosier <mcrosier@apple.com> | 2012-04-20 17:21:42 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2012-04-20 17:21:42 +0000 |
commit | d2fb88300966b1bb5ade07b7574f34aa54c0a97a (patch) | |
tree | 80693facc0b03b3a1e4674379f7b97cf1623dd85 /lib/Driver/Driver.cpp | |
parent | 80ec127fc9af8b83eea326fbd65265a1adc307d8 (diff) |
When generating the clang crash diagnostic script, strip out the -o flag.
Add a FIXME comment.
rdar://11283560
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155207 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/Driver.cpp')
-rw-r--r-- | lib/Driver/Driver.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp index 0d105ac0d0..c293b7fab6 100644 --- a/lib/Driver/Driver.cpp +++ b/lib/Driver/Driver.cpp @@ -491,8 +491,8 @@ void Driver::generateCompilationDiagnostics(Compilation &C, } else { // Strip -D, -F, and -I. // FIXME: This doesn't work with quotes (e.g., -D "foo bar"). - std::string Flag[3] = {"-D ", "-F", "-I "}; - for (unsigned i = 0; i < 3; ++i) { + std::string Flag[4] = {"-D ", "-F", "-I ", "-o "}; + for (unsigned i = 0; i < 4; ++i) { size_t I = 0, E = 0; do { I = Cmd.find(Flag[i], I); @@ -503,6 +503,7 @@ void Driver::generateCompilationDiagnostics(Compilation &C, Cmd.erase(I, E - I + 1); } while(1); } + // FIXME: Append the new filename with correct preprocessed suffix. ScriptOS << Cmd; Diag(clang::diag::note_drv_command_failed_diag_msg) << Script; } |