diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-12-03 01:45:44 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-12-03 01:45:44 +0000 |
commit | 59203007acb7cb1301215dbd4053be043dbb8465 (patch) | |
tree | 4ee0aef36bcf598d2c787a6c10ff9787d3352623 /clang/examples/wpa/clang-wpa.cpp | |
parent | 5ef26fb4fd9d6a3ac7b35eb5f3a2a4814449a28f (diff) | |
download | bcm5719-llvm-59203007acb7cb1301215dbd4053be043dbb8465.tar.gz bcm5719-llvm-59203007acb7cb1301215dbd4053be043dbb8465.zip |
Fix ASTUnit to allows require a (persistent) Diagnostic object be provided; propogate and simplify.
llvm-svn: 90379
Diffstat (limited to 'clang/examples/wpa/clang-wpa.cpp')
-rw-r--r-- | clang/examples/wpa/clang-wpa.cpp | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/clang/examples/wpa/clang-wpa.cpp b/clang/examples/wpa/clang-wpa.cpp index 4a0fe499395..a0182c17889 100644 --- a/clang/examples/wpa/clang-wpa.cpp +++ b/clang/examples/wpa/clang-wpa.cpp @@ -16,7 +16,7 @@ #include "clang/Frontend/ASTUnit.h" #include "clang/Basic/FileManager.h" #include "clang/Basic/SourceManager.h" -#include "clang/Frontend/TextDiagnosticBuffer.h" +#include "clang/Frontend/CompilerInstance.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/raw_ostream.h" using namespace clang; @@ -33,20 +33,14 @@ int main(int argc, char **argv) { if (InputFilenames.empty()) return 0; - TextDiagnosticBuffer DiagClient; + llvm::OwningPtr<Diagnostic> Diags( + CompilerInstance::createDiagnostics(DiagnosticOptions(), argc, argv)); for (unsigned i = 0, e = InputFilenames.size(); i != e; ++i) { const std::string &InFile = InputFilenames[i]; - - std::string ErrMsg; - llvm::OwningPtr<ASTUnit> AST; - - AST.reset(ASTUnit::LoadFromPCHFile(InFile, &ErrMsg, &DiagClient)); - - if (!AST) { - llvm::errs() << "[" << InFile << "] error: " << ErrMsg << '\n'; + llvm::OwningPtr<ASTUnit> AST(ASTUnit::LoadFromPCHFile(InFile, *Diags)); + if (!AST) return 1; - } ASTUnits.push_back(AST.take()); } |