jansvoboda11 created this revision. jansvoboda11 added reviewers: dexonsmith, bnbarham. Herald added a project: All. jansvoboda11 requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
This patch changes the member of `FrameworkCacheEntry` from `const DirectoryEntry *` to `Optional<DirectoryEntryRef>` in order to remove uses of the deprecated `DirectoryEntry::getName()`. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D123854 Files: clang/include/clang/Lex/HeaderSearch.h clang/lib/Lex/HeaderSearch.cpp Index: clang/lib/Lex/HeaderSearch.cpp =================================================================== --- clang/lib/Lex/HeaderSearch.cpp +++ clang/lib/Lex/HeaderSearch.cpp @@ -581,7 +581,7 @@ HS.LookupFrameworkCache(Filename.substr(0, SlashPos)); // If it is known and in some other directory, fail. - if (CacheEntry.Directory && CacheEntry.Directory != getFrameworkDir()) + if (CacheEntry.Directory && *CacheEntry.Directory != getFrameworkDir()) return None; // Otherwise, construct the path to this framework dir. @@ -610,7 +610,7 @@ // Otherwise, if it does, remember that this is the right direntry for this // framework. - CacheEntry.Directory = getFrameworkDir(); + CacheEntry.Directory = getFrameworkDirRef(); // If this is a user search directory, check if the framework has been // user-specified as a system framework. @@ -625,7 +625,7 @@ // Set out flags. InUserSpecifiedSystemFramework = CacheEntry.IsUserSpecifiedSystemFramework; - IsFrameworkFound = CacheEntry.Directory; + IsFrameworkFound = CacheEntry.Directory.hasValue(); if (RelativePath) { RelativePath->clear(); @@ -1183,7 +1183,7 @@ ++NumSubFrameworkLookups; // If the framework dir doesn't exist, we fail. - auto Dir = FileMgr.getDirectory(FrameworkName); + auto Dir = FileMgr.getOptionalDirectoryRef(FrameworkName); if (!Dir) return None; Index: clang/include/clang/Lex/HeaderSearch.h =================================================================== --- clang/include/clang/Lex/HeaderSearch.h +++ clang/include/clang/Lex/HeaderSearch.h @@ -155,7 +155,7 @@ /// This structure is used to record entries in our framework cache. struct FrameworkCacheEntry { /// The directory entry which should be used for the cached framework. - const DirectoryEntry *Directory; + Optional<DirectoryEntryRef> Directory; /// Whether this framework has been "user-specified" to be treated as if it /// were a system framework (even if it was found outside a system framework
Index: clang/lib/Lex/HeaderSearch.cpp =================================================================== --- clang/lib/Lex/HeaderSearch.cpp +++ clang/lib/Lex/HeaderSearch.cpp @@ -581,7 +581,7 @@ HS.LookupFrameworkCache(Filename.substr(0, SlashPos)); // If it is known and in some other directory, fail. - if (CacheEntry.Directory && CacheEntry.Directory != getFrameworkDir()) + if (CacheEntry.Directory && *CacheEntry.Directory != getFrameworkDir()) return None; // Otherwise, construct the path to this framework dir. @@ -610,7 +610,7 @@ // Otherwise, if it does, remember that this is the right direntry for this // framework. - CacheEntry.Directory = getFrameworkDir(); + CacheEntry.Directory = getFrameworkDirRef(); // If this is a user search directory, check if the framework has been // user-specified as a system framework. @@ -625,7 +625,7 @@ // Set out flags. InUserSpecifiedSystemFramework = CacheEntry.IsUserSpecifiedSystemFramework; - IsFrameworkFound = CacheEntry.Directory; + IsFrameworkFound = CacheEntry.Directory.hasValue(); if (RelativePath) { RelativePath->clear(); @@ -1183,7 +1183,7 @@ ++NumSubFrameworkLookups; // If the framework dir doesn't exist, we fail. - auto Dir = FileMgr.getDirectory(FrameworkName); + auto Dir = FileMgr.getOptionalDirectoryRef(FrameworkName); if (!Dir) return None; Index: clang/include/clang/Lex/HeaderSearch.h =================================================================== --- clang/include/clang/Lex/HeaderSearch.h +++ clang/include/clang/Lex/HeaderSearch.h @@ -155,7 +155,7 @@ /// This structure is used to record entries in our framework cache. struct FrameworkCacheEntry { /// The directory entry which should be used for the cached framework. - const DirectoryEntry *Directory; + Optional<DirectoryEntryRef> Directory; /// Whether this framework has been "user-specified" to be treated as if it /// were a system framework (even if it was found outside a system framework
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits