Skip to content

Commit c43bd6a

Browse files
committed
fix nits
1 parent 1dd2f86 commit c43bd6a

File tree

4 files changed

+38
-33
lines changed

4 files changed

+38
-33
lines changed

clang/include/clang/Serialization/ASTReader.h

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -238,13 +238,14 @@ class ASTReaderListener {
238238
}
239239

240240
/// Overloaded member function of \c visitInputFile that should
241-
/// be defined when the input file contains both the virtual and external
242-
/// paths, for example when deserializing input files from AST files.
241+
/// be defined when there is a distinction between
242+
/// the file name and name-as-requested. For example, when deserializing input
243+
/// files from precompiled AST files.
243244
///
244245
/// \returns true to continue receiving the next input file, false to stop.
245-
virtual bool visitInputFile(StringRef FilenameAsRequested,
246-
StringRef ExternalFilename, bool isSystem,
247-
bool isOverridden, bool isExplicitModule) {
246+
virtual bool visitInputFile(StringRef FilenameAsRequested, StringRef Filename,
247+
bool isSystem, bool isOverridden,
248+
bool isExplicitModule) {
248249
return true;
249250
}
250251

clang/lib/Frontend/FrontendActions.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -777,9 +777,9 @@ namespace {
777777
/// Indicates that the AST file contains particular input file.
778778
///
779779
/// \returns true to continue receiving the next input file, false to stop.
780-
bool visitInputFile(StringRef FilenameAsRequested,
781-
StringRef ExternalFilename, bool isSystem,
782-
bool isOverridden, bool isExplicitModule) override {
780+
bool visitInputFile(StringRef FilenameAsRequested, StringRef Filename,
781+
bool isSystem, bool isOverridden,
782+
bool isExplicitModule) override {
783783

784784
Out.indent(2) << "Input file: " << FilenameAsRequested;
785785

clang/lib/Serialization/ASTReader.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2616,18 +2616,14 @@ bool ASTReader::shouldDisableValidationForFile(
26162616
return false;
26172617
}
26182618

2619-
namespace {
2620-
2621-
std::pair<StringRef, StringRef>
2619+
static std::pair<StringRef, StringRef>
26222620
getUnresolvedInputFilenames(const ASTReader::RecordData &Record,
26232621
const StringRef InputBlob) {
26242622
uint16_t AsRequestedLength = Record[7];
26252623
return {InputBlob.substr(0, AsRequestedLength),
26262624
InputBlob.substr(AsRequestedLength)};
26272625
}
26282626

2629-
} // namespace
2630-
26312627
InputFileInfo ASTReader::getInputFileInfo(ModuleFile &F, unsigned ID) {
26322628
// If this ID is bogus, just return an empty input file.
26332629
if (ID == 0 || ID > F.InputFileInfosLoaded.size())

clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -116,39 +116,43 @@ class PrebuiltModuleListener : public ASTReaderListener {
116116
if (PrebuiltModuleFiles.insert({ModuleName.str(), Filename.str()}).second)
117117
NewModuleFiles.push_back(Filename.str());
118118

119-
if (PrebuiltModulesASTMap.try_emplace(Filename).second)
120-
PrebuiltModulesASTMap[Filename].setInStableDir(!StableDirs.empty());
119+
auto PrebuiltMapEntry = PrebuiltModulesASTMap.try_emplace(Filename);
120+
PrebuiltModuleASTAttrs &PrebuiltModule = PrebuiltMapEntry.first->second;
121+
if (PrebuiltMapEntry.second)
122+
PrebuiltModule.setInStableDir(!StableDirs.empty());
121123

122124
if (auto It = PrebuiltModulesASTMap.find(CurrentFile);
123125
It != PrebuiltModulesASTMap.end() && CurrentFile != Filename)
124-
PrebuiltModulesASTMap[Filename].addDependent(It->getKey());
126+
PrebuiltModule.addDependent(It->getKey());
125127
}
126128

127129
/// For each input file discovered, check whether it's external path is in a
128130
/// stable directory. Traversal is stopped if the current module is not
129131
/// considered stable.
130-
bool visitInputFile(StringRef FilenameAsRequested, StringRef ExternalFilename,
132+
bool visitInputFile(StringRef FilenameAsRequested, StringRef Filename,
131133
bool isSystem, bool isOverridden,
132134
bool isExplicitModule) override {
133135
if (StableDirs.empty())
134136
return false;
135-
if (!PrebuiltModulesASTMap.contains(CurrentFile) ||
136-
!PrebuiltModulesASTMap[CurrentFile].isInStableDir())
137+
auto PrebuiltEntryIt = PrebuiltModulesASTMap.find(CurrentFile);
138+
if ((PrebuiltEntryIt == PrebuiltModulesASTMap.end()) ||
139+
(!PrebuiltEntryIt->second.isInStableDir()))
137140
return false;
138141

139-
PrebuiltModulesASTMap[CurrentFile].setInStableDir(
140-
isPathInStableDir(StableDirs, ExternalFilename));
141-
return PrebuiltModulesASTMap[CurrentFile].isInStableDir();
142+
PrebuiltEntryIt->second.setInStableDir(
143+
isPathInStableDir(StableDirs, Filename));
144+
return PrebuiltEntryIt->second.isInStableDir();
142145
}
143146

144147
/// Update which module that is being actively traversed.
145148
void visitModuleFile(StringRef Filename,
146149
serialization::ModuleKind Kind) override {
147150
// If the CurrentFile is not
148151
// considered stable, update any of it's transitive dependents.
149-
if (PrebuiltModulesASTMap.contains(CurrentFile) &&
150-
!PrebuiltModulesASTMap[CurrentFile].isInStableDir())
151-
PrebuiltModulesASTMap[CurrentFile].updateDependentsNotInStableDirs(
152+
auto PrebuiltEntryIt = PrebuiltModulesASTMap.find(CurrentFile);
153+
if ((PrebuiltEntryIt != PrebuiltModulesASTMap.end()) &&
154+
!PrebuiltEntryIt->second.isInStableDir())
155+
PrebuiltEntryIt->second.updateDependentsNotInStableDirs(
152156
PrebuiltModulesASTMap);
153157
CurrentFile = Filename;
154158
}
@@ -159,12 +163,14 @@ class PrebuiltModuleListener : public ASTReaderListener {
159163
StringRef ModuleFilename,
160164
StringRef SpecificModuleCachePath,
161165
bool Complain) override {
162-
if (PrebuiltModulesASTMap.try_emplace(CurrentFile).second)
163-
PrebuiltModulesASTMap[CurrentFile].setInStableDir(!StableDirs.empty());
164166

165-
if (PrebuiltModulesASTMap[CurrentFile].isInStableDir())
166-
PrebuiltModulesASTMap[CurrentFile].setInStableDir(
167-
areOptionsInStableDir(StableDirs, HSOpts));
167+
auto PrebuiltMapEntry = PrebuiltModulesASTMap.try_emplace(CurrentFile);
168+
PrebuiltModuleASTAttrs &PrebuiltModule = PrebuiltMapEntry.first->second;
169+
if (PrebuiltMapEntry.second)
170+
PrebuiltModule.setInStableDir(!StableDirs.empty());
171+
172+
if (PrebuiltModule.isInStableDir())
173+
PrebuiltModule.setInStableDir(areOptionsInStableDir(StableDirs, HSOpts));
168174

169175
return false;
170176
}
@@ -173,10 +179,12 @@ class PrebuiltModuleListener : public ASTReaderListener {
173179
bool ReadHeaderSearchPaths(const HeaderSearchOptions &HSOpts,
174180
bool Complain) override {
175181

176-
if (PrebuiltModulesASTMap.try_emplace(CurrentFile).second)
177-
PrebuiltModulesASTMap[CurrentFile].setInStableDir(!StableDirs.empty());
182+
auto PrebuiltMapEntry = PrebuiltModulesASTMap.try_emplace(CurrentFile);
183+
PrebuiltModuleASTAttrs &PrebuiltModule = PrebuiltMapEntry.first->second;
184+
if (PrebuiltMapEntry.second)
185+
PrebuiltModule.setInStableDir(!StableDirs.empty());
178186

179-
PrebuiltModulesASTMap[CurrentFile].setVFS(
187+
PrebuiltModule.setVFS(
180188
llvm::StringSet<>(llvm::from_range, HSOpts.VFSOverlayFiles));
181189

182190
return checkHeaderSearchPaths(

0 commit comments

Comments
 (0)