aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic
diff options
context:
space:
mode:
authorAaron Ballman <aaron@aaronballman.com>2025-07-25 13:24:00 -0400
committerGitHub <noreply@github.com>2025-07-25 13:24:00 -0400
commit479ae4aa8fe894dbb00a895b98620120c5e06769 (patch)
treeee2ee4870bf763cce79250b7feefaaea40f2f245 /clang/lib/Basic
parentda30197f1c967c3196a376439c860c2d55b84495 (diff)
downloadllvm-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.cpp13
-rw-r--r--clang/lib/Basic/ProfileList.cpp10
-rw-r--r--clang/lib/Basic/SanitizerSpecialCaseList.cpp11
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;