aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver/Driver.cpp
diff options
context:
space:
mode:
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;
}