[clang] 89bacc0 - [clang] NFCI: Use `FileEntryRef` in `CreateHeaderMap()`
Jan Svoboda via cfe-commits
cfe-commits at lists.llvm.org
Sat Sep 9 22:31:57 PDT 2023
Author: Jan Svoboda
Date: 2023-09-09T21:51:04-07:00
New Revision: 89bacc0bb9f6aa66ca1951ec5c0e4c38cc661160
URL: https://github.com/llvm/llvm-project/commit/89bacc0bb9f6aa66ca1951ec5c0e4c38cc661160
DIFF: https://github.com/llvm/llvm-project/commit/89bacc0bb9f6aa66ca1951ec5c0e4c38cc661160.diff
LOG: [clang] NFCI: Use `FileEntryRef` in `CreateHeaderMap()`
Added:
Modified:
clang/include/clang/Lex/HeaderSearch.h
clang/lib/Lex/HeaderSearch.cpp
clang/lib/Lex/InitHeaderSearch.cpp
Removed:
################################################################################
diff --git a/clang/include/clang/Lex/HeaderSearch.h b/clang/include/clang/Lex/HeaderSearch.h
index 347c4ecd293413..2e9c1f0329cf6b 100644
--- a/clang/include/clang/Lex/HeaderSearch.h
+++ b/clang/include/clang/Lex/HeaderSearch.h
@@ -316,7 +316,7 @@ class HeaderSearch {
std::unique_ptr<IncludeAliasMap> IncludeAliases;
/// This is a mapping from FileEntry -> HeaderMap, uniquing headermaps.
- std::vector<std::pair<const FileEntry *, std::unique_ptr<HeaderMap>>> HeaderMaps;
+ std::vector<std::pair<FileEntryRef, std::unique_ptr<HeaderMap>>> HeaderMaps;
/// The mapping between modules and headers.
mutable ModuleMap ModMap;
@@ -573,7 +573,7 @@ class HeaderSearch {
/// This method returns a HeaderMap for the specified
/// FileEntry, uniquing them through the 'HeaderMaps' datastructure.
- const HeaderMap *CreateHeaderMap(const FileEntry *FE);
+ const HeaderMap *CreateHeaderMap(FileEntryRef FE);
/// Get filenames for all registered header maps.
void getHeaderMapFileNames(SmallVectorImpl<std::string> &Names) const;
diff --git a/clang/lib/Lex/HeaderSearch.cpp b/clang/lib/Lex/HeaderSearch.cpp
index e7195cbe914134..4deabf2c49bb8e 100644
--- a/clang/lib/Lex/HeaderSearch.cpp
+++ b/clang/lib/Lex/HeaderSearch.cpp
@@ -144,7 +144,7 @@ std::vector<bool> HeaderSearch::computeUserEntryUsage() const {
/// CreateHeaderMap - This method returns a HeaderMap for the specified
/// FileEntry, uniquing them through the 'HeaderMaps' datastructure.
-const HeaderMap *HeaderSearch::CreateHeaderMap(const FileEntry *FE) {
+const HeaderMap *HeaderSearch::CreateHeaderMap(FileEntryRef FE) {
// We expect the number of headermaps to be small, and almost always empty.
// If it ever grows, use of a linear search should be re-evaluated.
if (!HeaderMaps.empty()) {
@@ -167,7 +167,7 @@ const HeaderMap *HeaderSearch::CreateHeaderMap(const FileEntry *FE) {
void HeaderSearch::getHeaderMapFileNames(
SmallVectorImpl<std::string> &Names) const {
for (auto &HM : HeaderMaps)
- Names.push_back(std::string(HM.first->getName()));
+ Names.push_back(std::string(HM.first.getName()));
}
std::string HeaderSearch::getCachedModuleFileName(Module *Module) {
diff --git a/clang/lib/Lex/InitHeaderSearch.cpp b/clang/lib/Lex/InitHeaderSearch.cpp
index 2aaaca89a6a3ac..1f4c7a6d67b7f7 100644
--- a/clang/lib/Lex/InitHeaderSearch.cpp
+++ b/clang/lib/Lex/InitHeaderSearch.cpp
@@ -167,7 +167,7 @@ bool InitHeaderSearch::AddUnmappedPath(const Twine &Path, IncludeDirGroup Group,
// Check to see if this is an apple-style headermap (which are not allowed to
// be frameworks).
if (!isFramework) {
- if (auto FE = FM.getFile(MappedPathStr)) {
+ if (auto FE = FM.getOptionalFileRef(MappedPathStr)) {
if (const HeaderMap *HM = Headers.CreateHeaderMap(*FE)) {
// It is a headermap, add it to the search path.
IncludePath.emplace_back(
More information about the cfe-commits
mailing list