[all-commits] [llvm/llvm-project] 32c501: Module: Use FileEntryRef and DirectoryEntryRef in ...
Duncan P. N. Exon Smith via All-commits
all-commits at lists.llvm.org
Wed Dec 2 14:11:56 PST 2020
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 32c501dd88b62787d3a5ffda7aabcf4650dbe3cd
https://github.com/llvm/llvm-project/commit/32c501dd88b62787d3a5ffda7aabcf4650dbe3cd
Author: Duncan P. N. Exon Smith <dexonsmith at apple.com>
Date: 2020-12-02 (Wed, 02 Dec 2020)
Changed paths:
M clang/include/clang/Basic/DirectoryEntry.h
M clang/include/clang/Basic/Module.h
M clang/include/clang/Lex/ModuleMap.h
M clang/lib/Basic/Module.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
Module: Use FileEntryRef and DirectoryEntryRef in Umbrella, Header, and DirectoryName, NFC
Push `FileEntryRef` and `DirectoryEntryRef` further, using it them
`Module::Umbrella`, `Module::Header::Entry`, and
`Module::DirectoryName::Entry`.
- Add `DirectoryEntryRef::operator const DirectoryEntry *` and
`OptionalDirectoryEntryRefDegradesToDirectoryEntryPtr`, to get the
same "degrades to `DirectoryEntry*` behaviour `FileEntryRef` enjoys
(this avoids a bunch of churn in various clang tools).
- Fix the `DirectoryEntryRef` constructor from `MapEntry` to take it by
`const&`.
Note that we cannot get rid of the `...AsWritten` names leveraging the
new classes, since these need to be as written in the `ModuleMap` file
and the module directory path is preprended for the lookup in the
`FileManager`.
Differential Revision: https://reviews.llvm.org/D90497
More information about the All-commits
mailing list