forked from OSchip/llvm-project
[modules] Print input files when -module-file-info file switch is passed.
This patch improves traceability of duplicated header files which end up in multiple pcms. Differential Revision: https://reviews.llvm.org/D47118 llvm-svn: 337353
This commit is contained in:
parent
17c0f721b9
commit
33eb7297d2
|
@ -560,6 +560,45 @@ namespace {
|
|||
|
||||
Out << "\n";
|
||||
}
|
||||
|
||||
/// Tells the \c ASTReaderListener that we want to receive the
|
||||
/// input files of the AST file via \c visitInputFile.
|
||||
bool needsInputFileVisitation() override { return true; }
|
||||
|
||||
/// Tells the \c ASTReaderListener that we want to receive the
|
||||
/// input files of the AST file via \c visitInputFile.
|
||||
bool needsSystemInputFileVisitation() override { return true; }
|
||||
|
||||
/// Indicates that the AST file contains particular input file.
|
||||
///
|
||||
/// \returns true to continue receiving the next input file, false to stop.
|
||||
bool visitInputFile(StringRef Filename, bool isSystem,
|
||||
bool isOverridden, bool isExplicitModule) override {
|
||||
|
||||
Out.indent(2) << "Input file: " << Filename;
|
||||
|
||||
if (isSystem || isOverridden || isExplicitModule) {
|
||||
Out << " [";
|
||||
if (isSystem) {
|
||||
Out << "System";
|
||||
if (isOverridden || isExplicitModule)
|
||||
Out << ", ";
|
||||
}
|
||||
if (isOverridden) {
|
||||
Out << "Overridden";
|
||||
if (isExplicitModule)
|
||||
Out << ", ";
|
||||
}
|
||||
if (isExplicitModule)
|
||||
Out << "ExplicitModule";
|
||||
|
||||
Out << "]";
|
||||
}
|
||||
|
||||
Out << "\n";
|
||||
|
||||
return true;
|
||||
}
|
||||
#undef DUMP_BOOLEAN
|
||||
};
|
||||
}
|
||||
|
|
|
@ -43,6 +43,16 @@
|
|||
// CHECK: Predefined macros:
|
||||
// CHECK: -DBLARG
|
||||
// CHECK: -DWIBBLE=WOBBLE
|
||||
// CHECK: Input file: {{.*}}DependsOnModulePrivate.h
|
||||
// CHECK-NEXT: Input file: {{.*}}Other.h
|
||||
// CHECK-NEXT: Input file: {{.*}}SubFramework.h
|
||||
// CHECK-NEXT: Input file: {{.*}}not_coroutines.h
|
||||
// CHECK-NEXT: Input file: {{.*}}not_cxx.h
|
||||
// CHECK-NEXT: Input file: {{.*}}other.h
|
||||
// CHECK-NEXT: Input file: {{.*}}module.map
|
||||
// CHECK-NEXT: Input file: {{.*}}DependsOnModule.h
|
||||
// CHECK-NEXT: Input file: {{.*}}module_private.map
|
||||
// CHECK-NEXT: Input file: {{.*}}module.map
|
||||
|
||||
// CHECK: Diagnostic options:
|
||||
// CHECK: IgnoreWarnings: Yes
|
||||
|
|
Loading…
Reference in New Issue