diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2025-07-25 13:24:00 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-25 13:24:00 -0400 |
commit | 479ae4aa8fe894dbb00a895b98620120c5e06769 (patch) | |
tree | ee2ee4870bf763cce79250b7feefaaea40f2f245 /clang/lib/Basic | |
parent | da30197f1c967c3196a376439c860c2d55b84495 (diff) | |
download | llvm-479ae4aa8fe894dbb00a895b98620120c5e06769.zip llvm-479ae4aa8fe894dbb00a895b98620120c5e06769.tar.gz llvm-479ae4aa8fe894dbb00a895b98620120c5e06769.tar.bz2 |
Revert "fix: replace report_fatal_error with Diags and exit" (#150662)
Reverts llvm/llvm-project#147959
Diffstat (limited to 'clang/lib/Basic')
-rw-r--r-- | clang/lib/Basic/NoSanitizeList.cpp | 13 | ||||
-rw-r--r-- | clang/lib/Basic/ProfileList.cpp | 10 | ||||
-rw-r--r-- | clang/lib/Basic/SanitizerSpecialCaseList.cpp | 11 |
3 files changed, 19 insertions, 15 deletions
diff --git a/clang/lib/Basic/NoSanitizeList.cpp b/clang/lib/Basic/NoSanitizeList.cpp index dc9ab83..96f79fb 100644 --- a/clang/lib/Basic/NoSanitizeList.cpp +++ b/clang/lib/Basic/NoSanitizeList.cpp @@ -19,7 +19,11 @@ using namespace clang; -NoSanitizeList::NoSanitizeList(SourceManager &SM) : SM(SM) {} +NoSanitizeList::NoSanitizeList(const std::vector<std::string> &NoSanitizePaths, + SourceManager &SM) + : SSCL(SanitizerSpecialCaseList::createOrDie( + NoSanitizePaths, SM.getFileManager().getVirtualFileSystem())), + SM(SM) {} NoSanitizeList::~NoSanitizeList() = default; @@ -38,13 +42,6 @@ bool NoSanitizeList::containsPrefix(SanitizerMask Mask, StringRef Prefix, return San == llvm::SpecialCaseList::NotFound || NoSan > San; } -bool NoSanitizeList::init(const std::vector<std::string> &Paths, - std::pair<unsigned, std::string> &Error) { - SSCL = SanitizerSpecialCaseList::create( - Paths, SM.getFileManager().getVirtualFileSystem(), Error); - return SSCL != nullptr; -} - bool NoSanitizeList::containsGlobal(SanitizerMask Mask, StringRef GlobalName, StringRef Category) const { return containsPrefix(Mask, "global", GlobalName, Category); diff --git a/clang/lib/Basic/ProfileList.cpp b/clang/lib/Basic/ProfileList.cpp index 2b9f88eb..8481def 100644 --- a/clang/lib/Basic/ProfileList.cpp +++ b/clang/lib/Basic/ProfileList.cpp @@ -26,7 +26,7 @@ class ProfileSpecialCaseList : public llvm::SpecialCaseList { public: static std::unique_ptr<ProfileSpecialCaseList> create(const std::vector<std::string> &Paths, llvm::vfs::FileSystem &VFS, - std::pair<unsigned, std::string> &Error); + std::string &Error); static std::unique_ptr<ProfileSpecialCaseList> createOrDie(const std::vector<std::string> &Paths, @@ -44,8 +44,7 @@ public: std::unique_ptr<ProfileSpecialCaseList> ProfileSpecialCaseList::create(const std::vector<std::string> &Paths, - llvm::vfs::FileSystem &VFS, - std::pair<unsigned, std::string> &Error) { + llvm::vfs::FileSystem &VFS, std::string &Error) { auto PSCL = std::make_unique<ProfileSpecialCaseList>(); if (PSCL->createInternal(Paths, VFS, Error)) return PSCL; @@ -55,11 +54,10 @@ ProfileSpecialCaseList::create(const std::vector<std::string> &Paths, std::unique_ptr<ProfileSpecialCaseList> ProfileSpecialCaseList::createOrDie(const std::vector<std::string> &Paths, llvm::vfs::FileSystem &VFS) { - std::pair<unsigned, std::string> Error; + std::string Error; if (auto PSCL = create(Paths, VFS, Error)) return PSCL; - // TODO: add init function and use diagnose instead fo report_fatal_error - llvm::report_fatal_error(llvm::Twine(Error.second)); + llvm::report_fatal_error(llvm::Twine(Error)); } } // namespace clang diff --git a/clang/lib/Basic/SanitizerSpecialCaseList.cpp b/clang/lib/Basic/SanitizerSpecialCaseList.cpp index c3729e9..f7bc1d5 100644 --- a/clang/lib/Basic/SanitizerSpecialCaseList.cpp +++ b/clang/lib/Basic/SanitizerSpecialCaseList.cpp @@ -18,7 +18,7 @@ using namespace clang; std::unique_ptr<SanitizerSpecialCaseList> SanitizerSpecialCaseList::create(const std::vector<std::string> &Paths, llvm::vfs::FileSystem &VFS, - std::pair<unsigned, std::string> &Error) { + std::string &Error) { std::unique_ptr<clang::SanitizerSpecialCaseList> SSCL( new SanitizerSpecialCaseList()); if (SSCL->createInternal(Paths, VFS, Error)) { @@ -28,6 +28,15 @@ SanitizerSpecialCaseList::create(const std::vector<std::string> &Paths, return nullptr; } +std::unique_ptr<SanitizerSpecialCaseList> +SanitizerSpecialCaseList::createOrDie(const std::vector<std::string> &Paths, + llvm::vfs::FileSystem &VFS) { + std::string Error; + if (auto SSCL = create(Paths, VFS, Error)) + return SSCL; + llvm::report_fatal_error(StringRef(Error)); +} + void SanitizerSpecialCaseList::createSanitizerSections() { for (auto &S : Sections) { SanitizerMask Mask; |