diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2017-06-30 13:21:27 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2017-06-30 13:21:27 +0000 |
commit | 43c0f486b0be8301b0996f355b4fcb315ca96d5a (patch) | |
tree | ec47c0d2d1f3675a18e817a27ea7f3a02ac3c467 /clang/lib/Driver/Compilation.cpp | |
parent | 9932f928825b0b43842e4a72930e24ee22053b1d (diff) | |
download | llvm-43c0f486b0be8301b0996f355b4fcb315ca96d5a.zip llvm-43c0f486b0be8301b0996f355b4fcb315ca96d5a.tar.gz llvm-43c0f486b0be8301b0996f355b4fcb315ca96d5a.tar.bz2 |
[Driver] Actually report errors during parsing instead of stopping when there's an error somewhere.
This is a more principled version of r303756. That change was both very
brittle about the state of the Diags object going into the driver and
also broke tooling in funny ways.
In particular it prevented tools from capturing diagnostics properly and
made the compilation database logic fail to provide arguments to the
tool, falling back to scanning directories for JSON files.
llvm-svn: 306822
Diffstat (limited to 'clang/lib/Driver/Compilation.cpp')
-rw-r--r-- | clang/lib/Driver/Compilation.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Driver/Compilation.cpp b/clang/lib/Driver/Compilation.cpp index 5c13e59..cf86644 100644 --- a/clang/lib/Driver/Compilation.cpp +++ b/clang/lib/Driver/Compilation.cpp @@ -23,10 +23,11 @@ using namespace clang; using namespace llvm::opt; Compilation::Compilation(const Driver &D, const ToolChain &_DefaultToolChain, - InputArgList *_Args, DerivedArgList *_TranslatedArgs) + InputArgList *_Args, DerivedArgList *_TranslatedArgs, + bool ContainsError) : TheDriver(D), DefaultToolChain(_DefaultToolChain), ActiveOffloadMask(0u), Args(_Args), TranslatedArgs(_TranslatedArgs), Redirects(nullptr), - ForDiagnostics(false) { + ForDiagnostics(false), ContainsError(ContainsError) { // The offloading host toolchain is the default tool chain. OrderedOffloadingToolchains.insert( std::make_pair(Action::OFK_Host, &DefaultToolChain)); |