diff options
Diffstat (limited to 'include/clang/Driver/Compilation.h')
-rw-r--r-- | include/clang/Driver/Compilation.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/include/clang/Driver/Compilation.h b/include/clang/Driver/Compilation.h index 2db712d9321f9..8c9990909ebb0 100644 --- a/include/clang/Driver/Compilation.h +++ b/include/clang/Driver/Compilation.h @@ -12,12 +12,8 @@ #include "clang/Driver/Job.h" #include "clang/Driver/Util.h" - #include "llvm/ADT/DenseMap.h" - -namespace llvm { - class raw_ostream; -} +#include "llvm/Support/Path.h" namespace clang { namespace driver { @@ -60,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); @@ -120,7 +119,7 @@ public: /// \param J - The job to print. /// \param Terminator - A string to print at the end of the line. /// \param Quote - Should separate arguments be quoted. - void PrintJob(llvm::raw_ostream &OS, const Job &J, + void PrintJob(raw_ostream &OS, const Job &J, const char *Terminator, bool Quote) const; /// ExecuteCommand - Execute an actual command. @@ -136,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 |