================ @@ -30,11 +30,16 @@ SanitizerSpecialCaseList::create(const std::vector<std::string> &Paths, std::unique_ptr<SanitizerSpecialCaseList> SanitizerSpecialCaseList::createOrDie(const std::vector<std::string> &Paths, - llvm::vfs::FileSystem &VFS) { + llvm::vfs::FileSystem &VFS, + DiagnosticsEngine &Diags) { std::string Error; if (auto SSCL = create(Paths, VFS, Error)) return SSCL; - llvm::report_fatal_error(StringRef(Error)); + unsigned DiagID = Diags.getCustomDiagID(clang::DiagnosticsEngine::Error, + "failed to load NoSanitize file: %0"); ---------------- AaronBallman wrote:
This shouldn't be a custom diagnostic; I would imagine this would be a driver diagnostic. But we can't emit driver diagnostics from Basic. I think we need a bit wider of an approach where `createOrDie` is `create` which the caller has to respond to if it returns an empty `unique_ptr` so that the driver eventually is what emits the diagnostic. CC @MaskRay for more opinions https://github.com/llvm/llvm-project/pull/147959 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits