|
@@ -40,6 +40,7 @@ class DFGImpl : public PPCallbacks {
|
|
|
bool PhonyTarget;
|
|
|
bool AddMissingHeaderDeps;
|
|
|
bool SeenMissingHeader;
|
|
|
+ bool IncludeModuleFiles;
|
|
|
private:
|
|
|
bool FileMatchesDepCriteria(const char *Filename,
|
|
|
SrcMgr::CharacteristicKind FileType);
|
|
@@ -51,7 +52,8 @@ public:
|
|
|
IncludeSystemHeaders(Opts.IncludeSystemHeaders),
|
|
|
PhonyTarget(Opts.UsePhonyTargets),
|
|
|
AddMissingHeaderDeps(Opts.AddMissingHeaderDeps),
|
|
|
- SeenMissingHeader(false) {}
|
|
|
+ SeenMissingHeader(false),
|
|
|
+ IncludeModuleFiles(Opts.IncludeModuleFiles) {}
|
|
|
|
|
|
void FileChanged(SourceLocation Loc, FileChangeReason Reason,
|
|
|
SrcMgr::CharacteristicKind FileType,
|
|
@@ -68,6 +70,7 @@ public:
|
|
|
|
|
|
void AddFilename(StringRef Filename);
|
|
|
bool includeSystemHeaders() const { return IncludeSystemHeaders; }
|
|
|
+ bool includeModuleFiles() const { return IncludeModuleFiles; }
|
|
|
};
|
|
|
|
|
|
class DFGASTReaderListener : public ASTReaderListener {
|
|
@@ -79,6 +82,7 @@ public:
|
|
|
bool needsSystemInputFileVisitation() override {
|
|
|
return Parent.includeSystemHeaders();
|
|
|
}
|
|
|
+ void visitModuleFile(StringRef Filename) override;
|
|
|
bool visitInputFile(StringRef Filename, bool isSystem,
|
|
|
bool isOverridden) override;
|
|
|
};
|
|
@@ -268,3 +272,7 @@ bool DFGASTReaderListener::visitInputFile(llvm::StringRef Filename,
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+void DFGASTReaderListener::visitModuleFile(llvm::StringRef Filename) {
|
|
|
+ if (Parent.includeModuleFiles())
|
|
|
+ Parent.AddFilename(Filename);
|
|
|
+}
|