================ @@ -245,10 +247,32 @@ sortUsrToInfo(llvm::StringMap<std::unique_ptr<doc::Info>> &USRToInfo) { } } +llvm::Error handleMappingPhaseErrors(llvm::Error Err, + bool IgnoreMappingFailures) { + if (!Err) + return llvm::Error::success(); + if (IgnoreMappingFailures) { + llvm::errs() << "Error mapping decls in files. Clang-doc will ignore these " + "files and continue:\n" + << toString(std::move(Err)) << "\n"; + return llvm::Error::success(); + } + return Err; +} + +llvm::Error ensureOutputDirExists(const std::string &OutDirectory) { + if (std::error_code Err = llvm::sys::fs::create_directories(OutDirectory)) { + return llvm::createFileError(OutDirectory, Err); + } + return llvm::Error::success(); +} ---------------- ilovepi wrote:
Looking at this, lets tweak this slightly. First, lets just call this `createDirectories()`, since its just wrapping the original call and wrapping it in an llvm::Error. Next, the parameter should be StringRef. The braces on the if conflict w/ the style guide. My personal preference is to keep them, but project rules and all https://llvm.org/docs/CodingStandards.html#don-t-use-braces-on-simple-single-statement-bodies-of-if-else-loop-statements Lastly, I wonder if this should be an API in `support` with the rest of the file utilities. At the least https://github.com/llvm/llvm-project/pull/141699 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits