Index: clang-tools-extra/clang-query/tool/ClangQuery.cpp =================================================================== --- clang-tools-extra/clang-query/tool/ClangQuery.cpp +++ clang-tools-extra/clang-query/tool/ClangQuery.cpp @@ -71,8 +71,20 @@ ClangTool Tool(OptionsParser.getCompilations(), OptionsParser.getSourcePathList()); std::vector> ASTs; - if (Tool.buildASTs(ASTs) != 0) + int Status = Tool.buildASTs(ASTs); + bool SomeASTFailed = false; + if (Status == 1) { + + // Building ASTs failed. return 1; + } else if (Status == 2) { + SomeASTFailed = true; + llvm::errs() << "Failed to build AST for some of the files, " + << "results may be incomplete." + << "\n"; + } else { + assert(Status == 0 && "Unexpected status returned"); + } QuerySession QS(ASTs); @@ -112,5 +124,7 @@ } } + if (SomeASTFailed) + return 1; return 0; }