From 59203007acb7cb1301215dbd4053be043dbb8465 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Thu, 3 Dec 2009 01:45:44 +0000 Subject: Fix ASTUnit to allows require a (persistent) Diagnostic object be provided; propogate and simplify. llvm-svn: 90379 --- clang/examples/wpa/clang-wpa.cpp | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'clang/examples/wpa/clang-wpa.cpp') 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 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 AST; - - AST.reset(ASTUnit::LoadFromPCHFile(InFile, &ErrMsg, &DiagClient)); - - if (!AST) { - llvm::errs() << "[" << InFile << "] error: " << ErrMsg << '\n'; + llvm::OwningPtr AST(ASTUnit::LoadFromPCHFile(InFile, *Diags)); + if (!AST) return 1; - } ASTUnits.push_back(AST.take()); } -- cgit v1.2.3