================ @@ -121,6 +252,19 @@ FrontendAction::CreateWrappedASTConsumer(CompilerInstance &CI, if (!Consumer) return nullptr; + std::vector<std::unique_ptr<ASTConsumer>> Consumers; + llvm::StringRef PrintDeserializedDeclarationsPath = CI.getFrontendOpts().PrintDeserializedDeclarationsPath; + if (!PrintDeserializedDeclarationsPath.empty()) { + std::error_code ErrorCode; + auto* FileStream = new llvm::raw_fd_ostream(PrintDeserializedDeclarationsPath, ErrorCode, llvm::sys::fs::OF_None); + if (!ErrorCode) { + DeserializedDeclsLineRangePrinter* Printer = new DeserializedDeclsLineRangePrinter(CI.getSourceManager(), std::unique_ptr<llvm::raw_fd_ostream>(FileStream)); + Consumers.push_back(std::unique_ptr<ASTConsumer>(Printer)); + } else { + llvm::errs() << "Could not open file with path: " << PrintDeserializedDeclarationsPath << ", error: " << ErrorCode.message() << "\n"; ---------------- ilya-biryukov wrote:
NIT: maybe add a more descriptive error message, e.g. `Failed to create output file for -<flag>`? https://github.com/llvm/llvm-project/pull/133910 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits