From: Stephen Kelly Date: Tue, 16 Mar 2021 23:44:45 +0000 (+0000) Subject: [AST] Hide errors from the attempt to introspect nodes X-Git-Tag: llvmorg-14-init~12170 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a00d44012820e9ed2eba623dd61ca9cf5a2ce115;p=platform%2Fupstream%2Fllvm.git [AST] Hide errors from the attempt to introspect nodes --- diff --git a/clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp b/clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp index 6615f86..74ba70e 100644 --- a/clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp +++ b/clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp @@ -92,7 +92,13 @@ int main(int argc, const char **argv) { auto ParsedArgs = Opts.ParseArgs(llvm::makeArrayRef(Argv).slice(1), MissingArgIndex, MissingArgCount); ParseDiagnosticArgs(*DiagOpts, ParsedArgs); - TextDiagnosticPrinter DiagnosticPrinter(llvm::errs(), &*DiagOpts); + + // Don't output diagnostics, because common scenarios such as + // cross-compiling fail with diagnostics. This is not fatal, but + // just causes attempts to use the introspection API to return no data. + std::string Str; + llvm::raw_string_ostream OS(Str); + TextDiagnosticPrinter DiagnosticPrinter(OS, &*DiagOpts); DiagnosticsEngine Diagnostics( IntrusiveRefCntPtr(new DiagnosticIDs()), &*DiagOpts, &DiagnosticPrinter, false);