From 161d002a0949046131ecaa6574ddfece5cfd225e Mon Sep 17 00:00:00 2001 From: Peter Klausler Date: Thu, 27 Feb 2025 14:29:35 -0800 Subject: [flang] Silence warnings from hermetic module files (#128763) Modules read from module files must have their symbols tagged with the ModFile flag to suppress all warnings messages that might be emitted for their contents. (Actionable warnings will have been emitted when the modules were originally compiled, so we don't want to repeat them later when the modules are USE'd.) The module symbols of the additional modules in hermetic module files were not being tagged with that flag; fix. --- flang/lib/Semantics/mod-file.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'flang/lib/Semantics/mod-file.cpp') diff --git a/flang/lib/Semantics/mod-file.cpp b/flang/lib/Semantics/mod-file.cpp index 82c43d9..1dfd9c3 100644 --- a/flang/lib/Semantics/mod-file.cpp +++ b/flang/lib/Semantics/mod-file.cpp @@ -1546,6 +1546,10 @@ Scope *ModFileReader::Read(SourceName name, std::optional isIntrinsic, Scope &hermeticScope{topScope.MakeScope(Scope::Kind::Global)}; context_.set_currentHermeticModuleFileScope(&hermeticScope); ResolveNames(context_, hermeticModules, hermeticScope); + for (auto &[_, ref] : hermeticScope) { + CHECK(ref->has()); + ref->set(Symbol::Flag::ModFile); + } } GetModuleDependences(context_.moduleDependences(), sourceFile->content()); ResolveNames(context_, parseTree, topScope); -- cgit v1.1