@@ -74,27 +74,18 @@ class PrebuiltModuleListener : public ASTReaderListener {
74
74
public:
75
75
PrebuiltModuleListener (CompilerInstance &CI,
76
76
PrebuiltModuleFilesT &PrebuiltModuleFiles,
77
- llvm::StringSet<> &InputFiles, bool VisitInputFiles,
78
77
llvm::SmallVector<std::string> &NewModuleFiles)
79
78
: CI(CI), PrebuiltModuleFiles(PrebuiltModuleFiles),
80
- InputFiles (InputFiles), VisitInputFiles(VisitInputFiles),
79
+
81
80
NewModuleFiles (NewModuleFiles) {}
82
81
83
82
bool needsImportVisitation () const override { return true ; }
84
- bool needsInputFileVisitation () override { return VisitInputFiles; }
85
- bool needsSystemInputFileVisitation () override { return VisitInputFiles; }
86
83
87
84
void visitImport (StringRef ModuleName, StringRef Filename) override {
88
85
if (PrebuiltModuleFiles.insert ({ModuleName.str (), Filename.str ()}).second )
89
86
NewModuleFiles.push_back (Filename.str ());
90
87
}
91
88
92
- bool visitInputFile (StringRef Filename, bool isSystem, bool isOverridden,
93
- bool isExplicitModule) override {
94
- InputFiles.insert (Filename);
95
- return true ;
96
- }
97
-
98
89
bool readModuleCacheKey (StringRef ModuleName, StringRef Filename,
99
90
StringRef CacheKey) override {
100
91
CI.getFrontendOpts ().ModuleCacheKeys .emplace_back (std::string (Filename),
@@ -106,22 +97,17 @@ class PrebuiltModuleListener : public ASTReaderListener {
106
97
private:
107
98
CompilerInstance &CI;
108
99
PrebuiltModuleFilesT &PrebuiltModuleFiles;
109
- llvm::StringSet<> &InputFiles;
110
- bool VisitInputFiles;
111
100
llvm::SmallVector<std::string> &NewModuleFiles;
112
101
};
113
102
114
103
// / Visit the given prebuilt module and collect all of the modules it
115
104
// / transitively imports and contributing input files.
116
105
static void visitPrebuiltModule (StringRef PrebuiltModuleFilename,
117
106
CompilerInstance &CI,
118
- PrebuiltModuleFilesT &ModuleFiles,
119
- llvm::StringSet<> &InputFiles,
120
- bool VisitInputFiles) {
107
+ PrebuiltModuleFilesT &ModuleFiles) {
121
108
// List of module files to be processed.
122
109
llvm::SmallVector<std::string> Worklist{PrebuiltModuleFilename.str ()};
123
- PrebuiltModuleListener Listener (CI, ModuleFiles, InputFiles, VisitInputFiles,
124
- Worklist);
110
+ PrebuiltModuleListener Listener (CI, ModuleFiles, Worklist);
125
111
126
112
while (!Worklist.empty ())
127
113
ASTReader::readASTFileControlBlock (
@@ -375,16 +361,13 @@ class DependencyScanningAction : public tooling::ToolAction {
375
361
376
362
ScanInstance.createSourceManager (*FileMgr);
377
363
378
- llvm::StringSet<> PrebuiltModulesInputFiles;
379
364
// Store the list of prebuilt module files into header search options. This
380
365
// will prevent the implicit build to create duplicate modules and will
381
366
// force reuse of the existing prebuilt module files instead.
382
367
if (!ScanInstance.getPreprocessorOpts ().ImplicitPCHInclude .empty ())
383
368
visitPrebuiltModule (
384
369
ScanInstance.getPreprocessorOpts ().ImplicitPCHInclude , ScanInstance,
385
- ScanInstance.getHeaderSearchOpts ().PrebuiltModuleFiles ,
386
- PrebuiltModulesInputFiles,
387
- /* VisitInputFiles=*/ getDepScanFS () != nullptr );
370
+ ScanInstance.getHeaderSearchOpts ().PrebuiltModuleFiles );
388
371
389
372
// Use the dependency scanning optimized file system if requested to do so.
390
373
if (DepFS) {
0 commit comments