summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@apple.com>2012-05-03 17:07:55 +0000
committerChad Rosier <mcrosier@apple.com>2012-05-03 17:07:55 +0000
commitf91fb400b3739ff956b953a83b1d0c8ff7228eb4 (patch)
tree88f073e50c05483ff82e1bf2c8b50188e15a9093 /clang
parentd5f34f9fee08b0a36ce14e3d70480ffeb3ba20f3 (diff)
downloadbcm5719-llvm-f91fb400b3739ff956b953a83b1d0c8ff7228eb4.tar.gz
bcm5719-llvm-f91fb400b3739ff956b953a83b1d0c8ff7228eb4.zip
[driver crash diagnostics] Remove more flags that reference absolute paths that
aren't necessary to reproduce the clang crash. Part of rdar://11285725 llvm-svn: 156079
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Driver/Driver.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index 483575298de..d510a0f4f68 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -489,10 +489,23 @@ void Driver::generateCompilationDiagnostics(Compilation &C,
Diag(clang::diag::note_drv_command_failed_diag_msg)
<< "Error generating run script: " + Script + " " + Err;
} else {
- // Strip -D, -F, and -I.
+ // Strip away options not necessary to reproduce the crash.
// FIXME: This doesn't work with quotes (e.g., -D "foo bar").
- std::string Flag[4] = {"-D ", "-F", "-I ", "-o "};
- for (unsigned i = 0; i < 4; ++i) {
+ SmallVector<std::string, 16> Flag;
+ Flag.push_back("-D ");
+ Flag.push_back("-F");
+ Flag.push_back("-I ");
+ Flag.push_back("-o ");
+ Flag.push_back("-coverage-file ");
+ Flag.push_back("-dependency-file ");
+ Flag.push_back("-fdebug-compilation-dir ");
+ Flag.push_back("-fmodule-cache-path ");
+ Flag.push_back("-include ");
+ Flag.push_back("-include-pch ");
+ Flag.push_back("-isysroot ");
+ Flag.push_back("-resource-dir ");
+ Flag.push_back("-serialize-diagnostic-file ");
+ for (unsigned i = 0, e = Flag.size(); i < e; ++i) {
size_t I = 0, E = 0;
do {
I = Cmd.find(Flag[i], I);
OpenPOWER on IntegriCloud