aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Driver/Compilation.h
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@apple.com>2011-07-20 20:26:32 +0000
committerChad Rosier <mcrosier@apple.com>2011-07-20 20:26:32 +0000
commit2da13b15959365df7edf1ed12a049b599b39c276 (patch)
tree9ae0d63ccefc306b330032a070310175e4589f70 /include/clang/Driver/Compilation.h
parent66488ed140f00daee0c3f0370bac337819ee8bc0 (diff)
When the compiler crashes, the compiler driver now produces diagnostic information
including the fully preprocessed source file(s) and command line arguments. The developer is asked to attach this diagnostic information to a bug report. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135614 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Driver/Compilation.h')
-rw-r--r--include/clang/Driver/Compilation.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/clang/Driver/Compilation.h b/include/clang/Driver/Compilation.h
index 4f69d0a420..8c9990909e 100644
--- a/include/clang/Driver/Compilation.h
+++ b/include/clang/Driver/Compilation.h
@@ -13,6 +13,7 @@
#include "clang/Driver/Job.h"
#include "clang/Driver/Util.h"
#include "llvm/ADT/DenseMap.h"
+#include "llvm/Support/Path.h"
namespace clang {
namespace driver {
@@ -55,6 +56,9 @@ class Compilation {
/// Result files which should be removed on failure.
ArgStringList ResultFiles;
+ /// Redirection for stdout, stderr, etc.
+ const llvm::sys::Path **Redirects;
+
public:
Compilation(const Driver &D, const ToolChain &DefaultToolChain,
InputArgList *Args, DerivedArgList *TranslatedArgs);
@@ -131,6 +135,11 @@ public:
/// Command which failed.
/// \return The accumulated result code of the job.
int ExecuteJob(const Job &J, const Command *&FailingCommand) const;
+
+ /// initCompilationForDiagnostics - Remove stale state and suppress output
+ /// so compilation can be reexecuted to generate additional diagnostic
+ /// information (e.g., preprocessed source(s)).
+ void initCompilationForDiagnostics();
};
} // end namespace driver