aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver/Driver.cpp
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@apple.com>2012-04-20 17:21:42 +0000
committerChad Rosier <mcrosier@apple.com>2012-04-20 17:21:42 +0000
commitd2fb88300966b1bb5ade07b7574f34aa54c0a97a (patch)
tree80693facc0b03b3a1e4674379f7b97cf1623dd85 /lib/Driver/Driver.cpp
parent80ec127fc9af8b83eea326fbd65265a1adc307d8 (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.cpp5
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;
}