@@ -78,27 +78,18 @@ class PrebuiltModuleListener : public ASTReaderListener {
7878public:
7979 PrebuiltModuleListener (CompilerInstance &CI,
8080 PrebuiltModuleFilesT &PrebuiltModuleFiles,
81- llvm::StringSet<> &InputFiles, bool VisitInputFiles,
8281 llvm::SmallVector<std::string> &NewModuleFiles)
8382 : CI(CI), PrebuiltModuleFiles(PrebuiltModuleFiles),
84- InputFiles (InputFiles), VisitInputFiles(VisitInputFiles),
83+
8584 NewModuleFiles (NewModuleFiles) {}
8685
8786 bool needsImportVisitation () const override { return true ; }
88- bool needsInputFileVisitation () override { return VisitInputFiles; }
89- bool needsSystemInputFileVisitation () override { return VisitInputFiles; }
9087
9188 void visitImport (StringRef ModuleName, StringRef Filename) override {
9289 if (PrebuiltModuleFiles.insert ({ModuleName.str (), Filename.str ()}).second )
9390 NewModuleFiles.push_back (Filename.str ());
9491 }
9592
96- bool visitInputFile (StringRef Filename, bool isSystem, bool isOverridden,
97- bool isExplicitModule) override {
98- InputFiles.insert (Filename);
99- return true ;
100- }
101-
10293 bool readModuleCacheKey (StringRef ModuleName, StringRef Filename,
10394 StringRef CacheKey) override {
10495 CI.getFrontendOpts ().ModuleCacheKeys .emplace_back (std::string (Filename),
@@ -110,22 +101,17 @@ class PrebuiltModuleListener : public ASTReaderListener {
110101private:
111102 CompilerInstance &CI;
112103 PrebuiltModuleFilesT &PrebuiltModuleFiles;
113- llvm::StringSet<> &InputFiles;
114- bool VisitInputFiles;
115104 llvm::SmallVector<std::string> &NewModuleFiles;
116105};
117106
118107// / Visit the given prebuilt module and collect all of the modules it
119108// / transitively imports and contributing input files.
120109static void visitPrebuiltModule (StringRef PrebuiltModuleFilename,
121110 CompilerInstance &CI,
122- PrebuiltModuleFilesT &ModuleFiles,
123- llvm::StringSet<> &InputFiles,
124- bool VisitInputFiles) {
111+ PrebuiltModuleFilesT &ModuleFiles) {
125112 // List of module files to be processed.
126113 llvm::SmallVector<std::string> Worklist{PrebuiltModuleFilename.str ()};
127- PrebuiltModuleListener Listener (CI, ModuleFiles, InputFiles, VisitInputFiles,
128- Worklist);
114+ PrebuiltModuleListener Listener (CI, ModuleFiles, Worklist);
129115
130116 while (!Worklist.empty ())
131117 ASTReader::readASTFileControlBlock (
@@ -338,16 +324,13 @@ class DependencyScanningAction : public tooling::ToolAction {
338324
339325 ScanInstance.createSourceManager (*FileMgr);
340326
341- llvm::StringSet<> PrebuiltModulesInputFiles;
342327 // Store the list of prebuilt module files into header search options. This
343328 // will prevent the implicit build to create duplicate modules and will
344329 // force reuse of the existing prebuilt module files instead.
345330 if (!ScanInstance.getPreprocessorOpts ().ImplicitPCHInclude .empty ())
346331 visitPrebuiltModule (
347332 ScanInstance.getPreprocessorOpts ().ImplicitPCHInclude , ScanInstance,
348- ScanInstance.getHeaderSearchOpts ().PrebuiltModuleFiles ,
349- PrebuiltModulesInputFiles,
350- /* VisitInputFiles=*/ getDepScanFS () != nullptr );
333+ ScanInstance.getHeaderSearchOpts ().PrebuiltModuleFiles );
351334
352335 // Use the dependency scanning optimized file system if requested to do so.
353336 if (DepFS) {
0 commit comments