auto ParsedArgs = Opts.ParseArgs(llvm::makeArrayRef(Argv).slice(1),\r
MissingArgIndex, MissingArgCount);\r
ParseDiagnosticArgs(*DiagOpts, ParsedArgs);\r
- TextDiagnosticPrinter DiagnosticPrinter(llvm::errs(), &*DiagOpts);\r
+\r
+ // Don't output diagnostics, because common scenarios such as\r
+ // cross-compiling fail with diagnostics. This is not fatal, but\r
+ // just causes attempts to use the introspection API to return no data.\r
+ std::string Str;\r
+ llvm::raw_string_ostream OS(Str);\r
+ TextDiagnosticPrinter DiagnosticPrinter(OS, &*DiagOpts);\r
DiagnosticsEngine Diagnostics(\r
IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs()), &*DiagOpts,\r
&DiagnosticPrinter, false);\r