Repository: llvm/llvm-project
Pull request #132970: [clang] Consistently use "load" to refer to populating clang::ModuleMap
Author: login: Bigcheese
Labels: name: clang
description: Clang issues not falling into any other category
name: clang-tools-extra
name: clang:frontend
description: Language frontend issues, e.g. anything involving "Sema"
name: clang:modules
description: C++20 modules and Clang Header Modules
Created: 2025-03-25T18:16:49Z | Merged: 2025-03-25T19:32:58Z

Now that we have ModuleMapFile.cpp which parses module maps, it's confusing what ModuleMap::parseModuleMapFile actually does. HeaderSearch already called this loading a module map, so consistently use that term in ModuleMap too.

An upcoming patch will allow just parsing a module map without loading the modules from it.


Diff:
diff --git a/clang-tools-extra/modularize/ModuleAssistant.cpp b/clang-tools-extra/modularize/ModuleAssistant.cpp
index c7259d70bd58f..b4ec96617449f 100644
--- a/clang-tools-extra/modularize/ModuleAssistant.cpp
+++ b/clang-tools-extra/modularize/ModuleAssistant.cpp
@@ -129,8 +129,8 @@ Module *Module::findSubModule(llvm::StringRef SubName) {
 // Implementation functions:
 
 // Reserved keywords in module.modulemap syntax.
-// Keep in sync with keywords in module map parser in Lex/ModuleMap.cpp,
-// such as in ModuleMapParser::consumeToken().
+// Keep in sync with keywords in module map parser in Lex/ModuleMapFile.cpp,
+// such as in ModuleMapFileParser::consumeToken().
 static const char *const ReservedNames[] = {
   "config_macros", "export",   "module", "conflict", "framework",
   "requires",      "exclude",  "header", "private",  "explicit",
diff --git a/clang/include/clang/Lex/ModuleMap.h b/clang/include/clang/Lex/ModuleMap.h
index 3baeea08cc0e3..43c3890631bd1 100644
--- a/clang/include/clang/Lex/ModuleMap.h
+++ b/clang/include/clang/Lex/ModuleMap.h
@@ -43,7 +43,7 @@ class FileManager;
 class HeaderSearch;
 class SourceManager;
 
-/// A mechanism to observe the actions of the module map parser as it
+/// A mechanism to observe the actions of the module map loader as it
 /// reads module map files.
 class ModuleMapCallbacks {
   virtual void anchor();
@@ -195,7 +195,7 @@ class ModuleMap {
   using AdditionalModMapsSet = llvm::DenseSet<FileEntryRef>;
 
 private:
-  friend class ModuleMapParser;
+  friend class ModuleMapLoader;
 
   using HeadersMap = llvm::DenseMap<FileEntryRef, SmallVector<KnownHeader, 1>>;
 
@@ -259,9 +259,9 @@ class ModuleMap {
 
   llvm::DenseMap<const Module *, AdditionalModMapsSet> AdditionalModMaps;
 
-  /// Describes whether we haved parsed a particular file as a module
+  /// Describes whether we haved loaded a particular file as a module
   /// map.
-  llvm::DenseMap<const FileEntry *, bool> ParsedModuleMap;
+  llvm::DenseMap<const FileEntry *, bool> LoadedModuleMap;
 
   /// Resolve the given export declaration into an actual export
   /// declaration.
@@ -693,10 +693,10 @@ class ModuleMap {
   void addHeader(Module *Mod, Module::Header Header,
                  ModuleHeaderRole Role, bool Imported = false);
 
-  /// Parse the given module map file, and record any modules we
+  /// Load the given module map file, and record any modules we
   /// encounter.
   ///
-  /// \param File The file to be parsed.
+  /// \param File The file to be loaded.
   ///
   /// \param IsSystem Whether this module map file is in a system header
   /// directory, and therefore should be considered a system module.
@@ -713,10 +713,10 @@ class ModuleMap {
   ///        that caused us to load this module map file, if any.
   ///
   /// \returns true if an error occurred, false otherwise.
-  bool parseModuleMapFile(FileEntryRef File, bool IsSystem,
-                          DirectoryEntryRef HomeDir, FileID ID = FileID(),
-                          unsigned *Offset = nullptr,
-                          SourceLocation ExternModuleLoc = SourceLocation());
+  bool loadModuleMapFile(FileEntryRef File, bool IsSystem,
+                         DirectoryEntryRef HomeDir, FileID ID = FileID(),
+                         unsigned *Offset = nullptr,
+                         SourceLocation ExternModuleLoc = SourceLocation());
 
   /// Dump the contents of the module map, for debugging purposes.
   void dump();
diff --git a/clang/lib/Lex/HeaderSearch.cpp b/clang/lib/Lex/HeaderSearch.cpp
index ad9263f2994f2..95f294238a0d4 100644
--- a/clang/lib/Lex/HeaderSearch.cpp
+++ b/clang/lib/Lex/HeaderSearch.cpp
@@ -1783,7 +1783,7 @@ HeaderSearch::loadModuleMapFileImpl(FileEntryRef File, bool IsSystem,
   if (!AddResult.second)
     return AddResult.first->second ? LMM_AlreadyLoaded : LMM_InvalidModuleMap;
 
-  if (ModMap.parseModuleMapFile(File, IsSystem, Dir, ID, Offset)) {
+  if (ModMap.loadModuleMapFile(File, IsSystem, Dir, ID, Offset)) {
     LoadedModuleMaps[File] = false;
     return LMM_InvalidModuleMap;
   }
@@ -1791,7 +1791,7 @@ HeaderSearch::loadModuleMapFileImpl(FileEntryRef File, bool IsSystem,
   // Try to load a corresponding private module map.
   if (OptionalFileEntryRef PMMFile =
           getPrivateModuleMap(File, FileMgr, Diags)) {
-    if (ModMap.parseModuleMapFile(*PMMFile, IsSystem, Dir)) {
+    if (ModMap.loadModuleMapFile(*PMMFile, IsSystem, Dir)) {
       LoadedModuleMaps[File] = false;
       return LMM_InvalidModuleMap;
     }
diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp
index ea142bcc70f8f..a1394fd3900b0 100644
--- a/clang/lib/Lex/ModuleMap.cpp
+++ b/clang/lib/Lex/ModuleMap.cpp
@@ -1051,7 +1051,7 @@ Module *ModuleMap::inferFrameworkModule(DirectoryEntryRef FrameworkDir,
           bool IsFrameworkDir = Parent.ends_with(".framework");
           if (OptionalFileEntryRef ModMapFile =
                   HeaderInfo.lookupModuleMapFile(*ParentDir, IsFrameworkDir)) {
-            parseModuleMapFile(*ModMapFile, Attrs.IsSystem, *ParentDir);
+            loadModuleMapFile(*ModMapFile, Attrs.IsSystem, *ParentDir);
             inferred = InferredDirectories.find(*ParentDir);
           }
 
@@ -1354,7 +1354,7 @@ std::error_code
 ModuleMap::canonicalizeModuleMapPath(SmallVectorImpl<char> &Path) {
   StringRef Dir = llvm::sys::path::parent_path({Path.data(), Path.size()});
 
-  // Do not canonicalize within the framework; the module map parser expects
+  // Do not canonicalize within the framework; the module map loader expects
   // Modules/ not Versions/A/Modules.
   if (llvm::sys::path::filename(Dir) == "Modules") {
     StringRef Parent = llvm::sys::path::parent_path(Dir);
@@ -1453,11 +1453,11 @@ bool ModuleMap::resolveConflicts(Module *Mod, bool Complain) {
 }
 
 //----------------------------------------------------------------------------//
-// Module map file parser
+// Module map file loader
 //----------------------------------------------------------------------------//
 
 namespace clang {
-class ModuleMapParser {
+class ModuleMapLoader {
   modulemap::ModuleMapFile &MMF;
   SourceManager &SourceMgr;
 
@@ -1467,7 +1467,7 @@ class ModuleMapParser {
   /// The current module map file.
   FileID ModuleMapFID;
 
-  /// Source location of most recent parsed module declaration
+  /// Source location of most recent loaded module declaration
   SourceLocation CurrModuleDeclLoc;
 
   /// The directory that file names in this module map file should
@@ -1515,13 +1515,13 @@ class ModuleMapParser {
   using Attributes = ModuleMap::Attributes;
 
 public:
-  ModuleMapParser(modulemap::ModuleMapFile &MMF, SourceManager &SourceMgr,
+  ModuleMapLoader(modulemap::ModuleMapFile &MMF, SourceManager &SourceMgr,
                   DiagnosticsEngine &Diags, ModuleMap &Map, FileID ModuleMapFID,
                   DirectoryEntryRef Directory, bool IsSystem)
       : MMF(MMF), SourceMgr(SourceMgr), Diags(Diags), Map(Map),
         ModuleMapFID(ModuleMapFID), Directory(Directory), IsSystem(IsSystem) {}
 
-  bool parseModuleMapFile();
+  bool loadModuleMapFile();
 };
 
 } // namespace clang
@@ -1530,7 +1530,7 @@ class ModuleMapParser {
 /// module map search logic to find the appropriate private module when PCH
 /// is used with implicit module maps. Warn when private modules are written
 /// in other ways (FooPrivate and Foo.Private), providing notes and fixits.
-void ModuleMapParser::diagnosePrivateModules(SourceLocation StartLoc) {
+void ModuleMapLoader::diagnosePrivateModules(SourceLocation StartLoc) {
   auto GenNoteAndFixIt = [&](StringRef BadName, StringRef Canonical,
                              const Module *M, SourceRange ReplLoc) {
     auto D = Diags.Report(ActiveModule->DefinitionLoc,
@@ -1584,7 +1584,7 @@ void ModuleMapParser::diagnosePrivateModules(SourceLocation StartLoc) {
   }
 }
 
-void ModuleMapParser::handleModuleDecl(const modulemap::ModuleDecl &MD) {
+void ModuleMapLoader::handleModuleDecl(const modulemap::ModuleDecl &MD) {
   if (MD.Id.front().first == "*")
     return handleInferredModuleDecl(MD);
 
@@ -1763,7 +1763,7 @@ void ModuleMapParser::handleModuleDecl(const modulemap::ModuleDecl &MD) {
   ActiveModule = PreviousActiveModule;
 }
 
-void ModuleMapParser::handleExternModuleDecl(
+void ModuleMapLoader::handleExternModuleDecl(
     const modulemap::ExternModuleDecl &EMD) {
   StringRef FileNameRef = EMD.Path;
   SmallString<128> ModuleMapFileName;
@@ -1773,7 +1773,7 @@ void ModuleMapParser::handleExternModuleDecl(
     FileNameRef = ModuleMapFileName;
   }
   if (auto File = SourceMgr.getFileManager().getOptionalFileRef(FileNameRef))
-    Map.parseModuleMapFile(
+    Map.loadModuleMapFile(
         *File, IsSystem,
         Map.HeaderInfo.getHeaderSearchOpts().ModuleMapFileHomeIsCwd
             ? Directory
@@ -1810,7 +1810,7 @@ static bool shouldAddRequirement(Module *M, StringRef Feature,
   return true;
 }
 
-void ModuleMapParser::handleRequiresDecl(const modulemap::RequiresDecl &RD) {
+void ModuleMapLoader::handleRequiresDecl(const modulemap::RequiresDecl &RD) {
 
   for (const modulemap::RequiresFeature &RF : RD.Features) {
     bool IsRequiresExcludedHack = false;
@@ -1828,7 +1828,7 @@ void ModuleMapParser::handleRequiresDecl(const modulemap::RequiresDecl &RD) {
   }
 }
 
-void ModuleMapParser::handleHeaderDecl(const modulemap::HeaderDecl &HD) {
+void ModuleMapLoader::handleHeaderDecl(const modulemap::HeaderDecl &HD) {
   // We've already consumed the first token.
   ModuleMap::ModuleHeaderRole Role = ModuleMap::NormalHeader;
 
@@ -1887,7 +1887,7 @@ static bool compareModuleHeaders(const Module::Header &A,
   return A.NameAsWritten < B.NameAsWritten;
 }
 
-void ModuleMapParser::handleUmbrellaDirDecl(
+void ModuleMapLoader::handleUmbrellaDirDecl(
     const modulemap::UmbrellaDirDecl &UDD) {
   std::string DirName = std::string(UDD.Path);
   std::string DirNameAsWritten = DirName;
@@ -1919,7 +1919,7 @@ void ModuleMapParser::handleUmbrellaDirDecl(
 
   if (UsesRequiresExcludedHack.count(ActiveModule)) {
     // Mark this header 'textual' (see doc comment for
-    // ModuleMapParser::UsesRequiresExcludedHack). Although iterating over the
+    // ModuleMapLoader::UsesRequiresExcludedHack). Although iterating over the
     // directory is relatively expensive, in practice this only applies to the
     // uncommonly used Tcl module on Darwin platforms.
     std::error_code EC;
@@ -1953,12 +1953,12 @@ void ModuleMapParser::handleUmbrellaDirDecl(
   Map.setUmbrellaDirAsWritten(ActiveModule, *Dir, DirNameAsWritten, DirName);
 }
 
-void ModuleMapParser::handleExportDecl(const modulemap::ExportDecl &ED) {
+void ModuleMapLoader::handleExportDecl(const modulemap::ExportDecl &ED) {
   Module::UnresolvedExportDecl Unresolved = {ED.Location, ED.Id, ED.Wildcard};
   ActiveModule->UnresolvedExports.push_back(Unresolved);
 }
 
-void ModuleMapParser::handleExportAsDecl(const modulemap::ExportAsDecl &EAD) {
+void ModuleMapLoader::handleExportAsDecl(const modulemap::ExportAsDecl &EAD) {
   auto ModName = EAD.Id.front();
 
   if (!ActiveModule->ExportAsModule.empty()) {
@@ -1976,19 +1976,19 @@ void ModuleMapParser::handleExportAsDecl(const modulemap::ExportAsDecl &EAD) {
   Map.addLinkAsDependency(ActiveModule);
 }
 
-void ModuleMapParser::handleUseDecl(const modulemap::UseDecl &UD) {
+void ModuleMapLoader::handleUseDecl(const modulemap::UseDecl &UD) {
   if (ActiveModule->Parent)
     Diags.Report(UD.Location, diag::err_mmap_use_decl_submodule);
   else
     ActiveModule->UnresolvedDirectUses.push_back(UD.Id);
 }
 
-void ModuleMapParser::handleLinkDecl(const modulemap::LinkDecl &LD) {
+void ModuleMapLoader::handleLinkDecl(const modulemap::LinkDecl &LD) {
   ActiveModule->LinkLibraries.push_back(
       Module::LinkLibrary(std::string{LD.Library}, LD.Framework));
 }
 
-void ModuleMapParser::handleConfigMacros(
+void ModuleMapLoader::handleConfigMacros(
     const modulemap::ConfigMacrosDecl &CMD) {
   if (ActiveModule->Parent) {
     Diags.Report(CMD.Location, diag::err_mmap_config_macro_submodule);
@@ -2004,7 +2004,7 @@ void ModuleMapParser::handleConfigMacros(
                                     CMD.Macros.begin(), CMD.Macros.end());
 }
 
-void ModuleMapParser::handleConflict(const modulemap::ConflictDecl &CD) {
+void ModuleMapLoader::handleConflict(const modulemap::ConflictDecl &CD) {
   Module::UnresolvedConflict Conflict;
 
   Conflict.Id = CD.Id;
@@ -2013,7 +2013,7 @@ void ModuleMapParser::handleConflict(const modulemap::ConflictDecl &CD) {
   ActiveModule->UnresolvedConflicts.push_back(Conflict);
 }
 
-void ModuleMapParser::handleInferredModuleDecl(
+void ModuleMapLoader::handleInferredModuleDecl(
     const modulemap::ModuleDecl &MD) {
   SourceLocation StarLoc = MD.Id.front().second;
 
@@ -2103,7 +2103,7 @@ void ModuleMapParser::handleInferredModuleDecl(
   }
 }
 
-bool ModuleMapParser::parseModuleMapFile() {
+bool ModuleMapLoader::loadModuleMapFile() {
   for (const auto &Decl : MMF.Decls) {
     std::visit(
         llvm::makeVisitor(
@@ -2116,14 +2116,14 @@ bool ModuleMapParser::parseModuleMapFile() {
   return HadError;
 }
 
-bool ModuleMap::parseModuleMapFile(FileEntryRef File, bool IsSystem,
-                                   DirectoryEntryRef Dir, FileID ID,
-                                   unsigned *Offset,
-                                   SourceLocation ExternModuleLoc) {
+bool ModuleMap::loadModuleMapFile(FileEntryRef File, bool IsSystem,
+                                  DirectoryEntryRef Dir, FileID ID,
+                                  unsigned *Offset,
+                                  SourceLocation ExternModuleLoc) {
   assert(Target && "Missing target information");
-  llvm::DenseMap<const FileEntry *, bool>::iterator Known
-    = ParsedModuleMap.find(File);
-  if (Known != ParsedModuleMap.end())
+  llvm::DenseMap<const FileEntry *, bool>::iterator Known =
+      LoadedModuleMap.find(File);
+  if (Known != LoadedModuleMap.end())
     return Known->second;
 
   // If the module map file wasn't already entered, do so now.
@@ -2136,7 +2136,7 @@ bool ModuleMap::parseModuleMapFile(FileEntryRef File, bool IsSystem,
   assert(Target && "Missing target information");
   std::optional<llvm::MemoryBufferRef> Buffer = SourceMgr.getBufferOrNone(ID);
   if (!Buffer)
-    return ParsedModuleMap[File] = true;
+    return LoadedModuleMap[File] = true;
   assert((!Offset || *Offset <= Buffer->getBufferSize()) &&
          "invalid buffer offset");
 
@@ -2144,12 +2144,13 @@ bool ModuleMap::parseModuleMapFile(FileEntryRef File, bool IsSystem,
       modulemap::parseModuleMap(ID, Dir, SourceMgr, Diags, IsSystem, Offset);
   bool Result = false;
   if (MMF) {
-    ModuleMapParser Parser(*MMF, SourceMgr, Diags, *this, ID, Dir, IsSystem);
-    Result = Parser.parseModuleMapFile();
+    ModuleMapLoader Loader(*MMF, SourceMgr, Diags, *this, ID, Dir, IsSystem);
+    Result = Loader.loadModuleMapFile();
   }
-  ParsedModuleMap[File] = Result;
+  LoadedModuleMap[File] = Result;
 
-  // Notify callbacks that we parsed it.
+  // Notify callbacks that we observed it.
+  // FIXME: We should only report module maps that were actually used.
   for (const auto &Cb : Callbacks)
     Cb->moduleMapFileRead(MMF ? MMF->Start : SourceLocation(), File, IsSystem);
 


Reviews:
user: login: jansvoboda11
body: Nice clarification, thanks!
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-03-25T18:32:40Z
user: login: jansvoboda11
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-25T18:33:26Z

Review comments:
diff_hunk: @@ -2136,20 +2136,20 @@ bool ModuleMap::parseModuleMapFile(FileEntryRef File, bool IsSystem,
   assert(Target && "Missing target information");
   std::optional<llvm::MemoryBufferRef> Buffer = SourceMgr.getBufferOrNone(ID);
   if (!Buffer)
-    return ParsedModuleMap[File] = true;
+    return LoadedModuleMap[File] = true;
   assert((!Offset || *Offset <= Buffer->getBufferSize()) &&
          "invalid buffer offset");
 
   std::optional<modulemap::ModuleMapFile> MMF =
       modulemap::parseModuleMap(ID, Dir, SourceMgr, Diags, IsSystem, Offset);
   bool Result = false;
   if (MMF) {
-    ModuleMapParser Parser(*MMF, SourceMgr, Diags, *this, ID, Dir, IsSystem);
-    Result = Parser.parseModuleMapFile();
+    ModuleMapLoader Loader(*MMF, SourceMgr, Diags, *this, ID, Dir, IsSystem);
+    Result = Loader.loadModuleMapFile();
   }
-  ParsedModuleMap[File] = Result;
+  LoadedModuleMap[File] = Result;
 
-  // Notify callbacks that we parsed it.
+  // Notify callbacks that we loaded it.
   for (const auto &Cb : Callbacks)
     Cb->moduleMapFileRead(MMF ? MMF->Start : SourceLocation(), File, IsSystem);
path: clang/lib/Lex/ModuleMap.cpp
user: login: jansvoboda11
body: I was about to suggest that we should come up with a better name for this callback, but in the end it's called for module maps that we failed to load and parse, so "read" here is probably the best name.
created_at: 2025-03-25T18:32:27Z
author_association: CONTRIBUTOR
diff_hunk: @@ -2136,20 +2136,20 @@ bool ModuleMap::parseModuleMapFile(FileEntryRef File, bool IsSystem,
   assert(Target && "Missing target information");
   std::optional<llvm::MemoryBufferRef> Buffer = SourceMgr.getBufferOrNone(ID);
   if (!Buffer)
-    return ParsedModuleMap[File] = true;
+    return LoadedModuleMap[File] = true;
   assert((!Offset || *Offset <= Buffer->getBufferSize()) &&
          "invalid buffer offset");
 
   std::optional<modulemap::ModuleMapFile> MMF =
       modulemap::parseModuleMap(ID, Dir, SourceMgr, Diags, IsSystem, Offset);
   bool Result = false;
   if (MMF) {
-    ModuleMapParser Parser(*MMF, SourceMgr, Diags, *this, ID, Dir, IsSystem);
-    Result = Parser.parseModuleMapFile();
+    ModuleMapLoader Loader(*MMF, SourceMgr, Diags, *this, ID, Dir, IsSystem);
+    Result = Loader.loadModuleMapFile();
   }
-  ParsedModuleMap[File] = Result;
+  LoadedModuleMap[File] = Result;
 
-  // Notify callbacks that we parsed it.
+  // Notify callbacks that we loaded it.
   for (const auto &Cb : Callbacks)
     Cb->moduleMapFileRead(MMF ? MMF->Start : SourceLocation(), File, IsSystem);
path: clang/lib/Lex/ModuleMap.cpp
user: login: jansvoboda11
body: Although... Maybe the comment just above the loop is now not 100% accurate 😅
created_at: 2025-03-25T18:33:26Z
author_association: CONTRIBUTOR

PR comments:
user: login: llvmbot
created_at: 2025-03-25T18:17:25Z
body: 
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang-tools-extra

@llvm/pr-subscribers-clang

Author: Michael Spencer (Bigcheese)

<details>
<summary>Changes</summary>

Now that we have ModuleMapFile.cpp which parses module maps, it's confusing what ModuleMap::parseModuleMapFile actually does. HeaderSearch already called this loading a module map, so consistently use that term in ModuleMap too.

An upcoming patch will allow just parsing a module map without loading the modules from it.

---
Full diff: https://github.com/llvm/llvm-project/pull/132970.diff


4 Files Affected:

- (modified) clang-tools-extra/modularize/ModuleAssistant.cpp (+2-2) 
- (modified) clang/include/clang/Lex/ModuleMap.h (+10-10) 
- (modified) clang/lib/Lex/HeaderSearch.cpp (+2-2) 
- (modified) clang/lib/Lex/ModuleMap.cpp (+31-31) 


``````````diff
diff --git a/clang-tools-extra/modularize/ModuleAssistant.cpp b/clang-tools-extra/modularize/ModuleAssistant.cpp
index c7259d70bd58f..b4ec96617449f 100644
--- a/clang-tools-extra/modularize/ModuleAssistant.cpp
+++ b/clang-tools-extra/modularize/ModuleAssistant.cpp
@@ -129,8 +129,8 @@ Module *Module::findSubModule(llvm::StringRef SubName) {
 // Implementation functions:
 
 // Reserved keywords in module.modulemap syntax.
-// Keep in sync with keywords in module map parser in Lex/ModuleMap.cpp,
-// such as in ModuleMapParser::consumeToken().
+// Keep in sync with keywords in module map parser in Lex/ModuleMapFile.cpp,
+// such as in ModuleMapFileParser::consumeToken().
 static const char *const ReservedNames[] = {
   "config_macros", "export",   "module", "conflict", "framework",
   "requires",      "exclude",  "header", "private",  "explicit",
diff --git a/clang/include/clang/Lex/ModuleMap.h b/clang/include/clang/Lex/ModuleMap.h
index 3baeea08cc0e3..43c3890631bd1 100644
--- a/clang/include/clang/Lex/ModuleMap.h
+++ b/clang/include/clang/Lex/ModuleMap.h
@@ -43,7 +43,7 @@ class FileManager;
 class HeaderSearch;
 class SourceManager;
 
-/// A mechanism to observe the actions of the module map parser as it
+/// A mechanism to observe the actions of the module map loader as it
 /// reads module map files.
 class ModuleMapCallbacks {
   virtual void anchor();
@@ -195,7 +195,7 @@ class ModuleMap {
   using AdditionalModMapsSet = llvm::DenseSet<FileEntryRef>;
 
 private:
-  friend class ModuleMapParser;
+  friend class ModuleMapLoader;
 
   using HeadersMap = llvm::DenseMap<FileEntryRef, SmallVector<KnownHeader, 1>>;
 
@@ -259,9 +259,9 @@ class ModuleMap {
 
   llvm::DenseMap<const Module *, AdditionalModMapsSet> AdditionalModMaps;
 
-  /// Describes whether we haved parsed a particular file as a module
+  /// Describes whether we haved loaded a particular file as a module
   /// map.
-  llvm::DenseMap<const FileEntry *, bool> ParsedModuleMap;
+  llvm::DenseMap<const FileEntry *, bool> LoadedModuleMap;
 
   /// Resolve the given export declaration into an actual export
   /// declaration.
@@ -693,10 +693,10 @@ class ModuleMap {
   void addHeader(Module *Mod, Module::Header Header,
                  ModuleHeaderRole Role, bool Imported = false);
 
-  /// Parse the given module map file, and record any modules we
+  /// Load the given module map file, and record any modules we
   /// encounter.
   ///
-  /// \param File The file to be parsed.
+  /// \param File The file to be loaded.
   ///
   /// \param IsSystem Whether this module map file is in a system header
   /// directory, and therefore should be considered a system module.
@@ -713,10 +713,10 @@ class ModuleMap {
   ///        that caused us to load this module map file, if any.
   ///
   /// \returns true if an error occurred, false otherwise.
-  bool parseModuleMapFile(FileEntryRef File, bool IsSystem,
-                          DirectoryEntryRef HomeDir, FileID ID = FileID(),
-                          unsigned *Offset = nullptr,
-                          SourceLocation ExternModuleLoc = SourceLocation());
+  bool loadModuleMapFile(FileEntryRef File, bool IsSystem,
+                         DirectoryEntryRef HomeDir, FileID ID = FileID(),
+                         unsigned *Offset = nullptr,
+                         SourceLocation ExternModuleLoc = SourceLocation());
 
   /// Dump the contents of the module map, for debugging purposes.
   void dump();
diff --git a/clang/lib/Lex/HeaderSearch.cpp b/clang/lib/Lex/HeaderSearch.cpp
index ad9263f2994f2..95f294238a0d4 100644
--- a/clang/lib/Lex/HeaderSearch.cpp
+++ b/clang/lib/Lex/HeaderSearch.cpp
@@ -1783,7 +1783,7 @@ HeaderSearch::loadModuleMapFileImpl(FileEntryRef File, bool IsSystem,
   if (!AddResult.second)
     return AddResult.first->second ? LMM_AlreadyLoaded : LMM_InvalidModuleMap;
 
-  if (ModMap.parseModuleMapFile(File, IsSystem, Dir, ID, Offset)) {
+  if (ModMap.loadModuleMapFile(File, IsSystem, Dir, ID, Offset)) {
     LoadedModuleMaps[File] = false;
     return LMM_InvalidModuleMap;
   }
@@ -1791,7 +1791,7 @@ HeaderSearch::loadModuleMapFileImpl(FileEntryRef File, bool IsSystem,
   // Try to load a corresponding private module map.
   if (OptionalFileEntryRef PMMFile =
           getPrivateModuleMap(File, FileMgr, Diags)) {
-    if (ModMap.parseModuleMapFile(*PMMFile, IsSystem, Dir)) {
+    if (ModMap.loadModuleMapFile(*PMMFile, IsSystem, Dir)) {
       LoadedModuleMaps[File] = false;
       return LMM_InvalidModuleMap;
     }
diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp
index ea142bcc70f8f..ab51b3a103b07 100644
--- a/clang/lib/Lex/ModuleMap.cpp
+++ b/clang/lib/Lex/ModuleMap.cpp
@@ -1051,7 +1051,7 @@ Module *ModuleMap::inferFrameworkModule(DirectoryEntryRef FrameworkDir,
           bool IsFrameworkDir = Parent.ends_with(".framework");
           if (OptionalFileEntryRef ModMapFile =
                   HeaderInfo.lookupModuleMapFile(*ParentDir, IsFrameworkDir)) {
-            parseModuleMapFile(*ModMapFile, Attrs.IsSystem, *ParentDir);
+            loadModuleMapFile(*ModMapFile, Attrs.IsSystem, *ParentDir);
             inferred = InferredDirectories.find(*ParentDir);
           }
 
@@ -1354,7 +1354,7 @@ std::error_code
 ModuleMap::canonicalizeModuleMapPath(SmallVectorImpl<char> &Path) {
   StringRef Dir = llvm::sys::path::parent_path({Path.data(), Path.size()});
 
-  // Do not canonicalize within the framework; the module map parser expects
+  // Do not canonicalize within the framework; the module map loader expects
   // Modules/ not Versions/A/Modules.
   if (llvm::sys::path::filename(Dir) == "Modules") {
     StringRef Parent = llvm::sys::path::parent_path(Dir);
@@ -1453,11 +1453,11 @@ bool ModuleMap::resolveConflicts(Module *Mod, bool Complain) {
 }
 
 //----------------------------------------------------------------------------//
-// Module map file parser
+// Module map file loader
 //----------------------------------------------------------------------------//
 
 namespace clang {
-class ModuleMapParser {
+class ModuleMapLoader {
   modulemap::ModuleMapFile &MMF;
   SourceManager &SourceMgr;
 
@@ -1467,7 +1467,7 @@ class ModuleMapParser {
   /// The current module map file.
   FileID ModuleMapFID;
 
-  /// Source location of most recent parsed module declaration
+  /// Source location of most recent loaded module declaration
   SourceLocation CurrModuleDeclLoc;
 
   /// The directory that file names in this module map file should
@@ -1515,13 +1515,13 @@ class ModuleMapParser {
   using Attributes = ModuleMap::Attributes;
 
 public:
-  ModuleMapParser(modulemap::ModuleMapFile &MMF, SourceManager &SourceMgr,
+  ModuleMapLoader(modulemap::ModuleMapFile &MMF, SourceManager &SourceMgr,
                   DiagnosticsEngine &Diags, ModuleMap &Map, FileID ModuleMapFID,
                   DirectoryEntryRef Directory, bool IsSystem)
       : MMF(MMF), SourceMgr(SourceMgr), Diags(Diags), Map(Map),
         ModuleMapFID(ModuleMapFID), Directory(Directory), IsSystem(IsSystem) {}
 
-  bool parseModuleMapFile();
+  bool loadModuleMapFile();
 };
 
 } // namespace clang
@@ -1530,7 +1530,7 @@ class ModuleMapParser {
 /// module map search logic to find the appropriate private module when PCH
 /// is used with implicit module maps. Warn when private modules are written
 /// in other ways (FooPrivate and Foo.Private), providing notes and fixits.
-void ModuleMapParser::diagnosePrivateModules(SourceLocation StartLoc) {
+void ModuleMapLoader::diagnosePrivateModules(SourceLocation StartLoc) {
   auto GenNoteAndFixIt = [&](StringRef BadName, StringRef Canonical,
                              const Module *M, SourceRange ReplLoc) {
     auto D = Diags.Report(ActiveModule->DefinitionLoc,
@@ -1584,7 +1584,7 @@ void ModuleMapParser::diagnosePrivateModules(SourceLocation StartLoc) {
   }
 }
 
-void ModuleMapParser::handleModuleDecl(const modulemap::ModuleDecl &MD) {
+void ModuleMapLoader::handleModuleDecl(const modulemap::ModuleDecl &MD) {
   if (MD.Id.front().first == "*")
     return handleInferredModuleDecl(MD);
 
@@ -1763,7 +1763,7 @@ void ModuleMapParser::handleModuleDecl(const modulemap::ModuleDecl &MD) {
   ActiveModule = PreviousActiveModule;
 }
 
-void ModuleMapParser::handleExternModuleDecl(
+void ModuleMapLoader::handleExternModuleDecl(
     const modulemap::ExternModuleDecl &EMD) {
   StringRef FileNameRef = EMD.Path;
   SmallString<128> ModuleMapFileName;
@@ -1773,7 +1773,7 @@ void ModuleMapParser::handleExternModuleDecl(
     FileNameRef = ModuleMapFileName;
   }
   if (auto File = SourceMgr.getFileManager().getOptionalFileRef(FileNameRef))
-    Map.parseModuleMapFile(
+    Map.loadModuleMapFile(
         *File, IsSystem,
         Map.HeaderInfo.getHeaderSearchOpts().ModuleMapFileHomeIsCwd
             ? Directory
@@ -1810,7 +1810,7 @@ static bool shouldAddRequirement(Module *M, StringRef Feature,
   return true;
 }
 
-void ModuleMapParser::handleRequiresDecl(const modulemap::RequiresDecl &RD) {
+void ModuleMapLoader::handleRequiresDecl(const modulemap::RequiresDecl &RD) {
 
   for (const modulemap::RequiresFeature &RF : RD.Features) {
     bool IsRequiresExcludedHack = false;
@@ -1828,7 +1828,7 @@ void ModuleMapParser::handleRequiresDecl(const modulemap::RequiresDecl &RD) {
   }
 }
 
-void ModuleMapParser::handleHeaderDecl(const modulemap::HeaderDecl &HD) {
+void ModuleMapLoader::handleHeaderDecl(const modulemap::HeaderDecl &HD) {
   // We've already consumed the first token.
   ModuleMap::ModuleHeaderRole Role = ModuleMap::NormalHeader;
 
@@ -1887,7 +1887,7 @@ static bool compareModuleHeaders(const Module::Header &A,
   return A.NameAsWritten < B.NameAsWritten;
 }
 
-void ModuleMapParser::handleUmbrellaDirDecl(
+void ModuleMapLoader::handleUmbrellaDirDecl(
     const modulemap::UmbrellaDirDecl &UDD) {
   std::string DirName = std::string(UDD.Path);
   std::string DirNameAsWritten = DirName;
@@ -1919,7 +1919,7 @@ void ModuleMapParser::handleUmbrellaDirDecl(
 
   if (UsesRequiresExcludedHack.count(ActiveModule)) {
     // Mark this header 'textual' (see doc comment for
-    // ModuleMapParser::UsesRequiresExcludedHack). Although iterating over the
+    // ModuleMapLoader::UsesRequiresExcludedHack). Although iterating over the
     // directory is relatively expensive, in practice this only applies to the
     // uncommonly used Tcl module on Darwin platforms.
     std::error_code EC;
@@ -1953,12 +1953,12 @@ void ModuleMapParser::handleUmbrellaDirDecl(
   Map.setUmbrellaDirAsWritten(ActiveModule, *Dir, DirNameAsWritten, DirName);
 }
 
-void ModuleMapParser::handleExportDecl(const modulemap::ExportDecl &ED) {
+void ModuleMapLoader::handleExportDecl(const modulemap::ExportDecl &ED) {
   Module::UnresolvedExportDecl Unresolved = {ED.Location, ED.Id, ED.Wildcard};
   ActiveModule->UnresolvedExports.push_back(Unresolved);
 }
 
-void ModuleMapParser::handleExportAsDecl(const modulemap::ExportAsDecl &EAD) {
+void ModuleMapLoader::handleExportAsDecl(const modulemap::ExportAsDecl &EAD) {
   auto ModName = EAD.Id.front();
 
   if (!ActiveModule->ExportAsModule.empty()) {
@@ -1976,19 +1976,19 @@ void ModuleMapParser::handleExportAsDecl(const modulemap::ExportAsDecl &EAD) {
   Map.addLinkAsDependency(ActiveModule);
 }
 
-void ModuleMapParser::handleUseDecl(const modulemap::UseDecl &UD) {
+void ModuleMapLoader::handleUseDecl(const modulemap::UseDecl &UD) {
   if (ActiveModule->Parent)
     Diags.Report(UD.Location, diag::err_mmap_use_decl_submodule);
   else
     ActiveModule->UnresolvedDirectUses.push_back(UD.Id);
 }
 
-void ModuleMapParser::handleLinkDecl(const modulemap::LinkDecl &LD) {
+void ModuleMapLoader::handleLinkDecl(const modulemap::LinkDecl &LD) {
   ActiveModule->LinkLibraries.push_back(
       Module::LinkLibrary(std::string{LD.Library}, LD.Framework));
 }
 
-void ModuleMapParser::handleConfigMacros(
+void ModuleMapLoader::handleConfigMacros(
     const modulemap::ConfigMacrosDecl &CMD) {
   if (ActiveModule->Parent) {
     Diags.Report(CMD.Location, diag::err_mmap_config_macro_submodule);
@@ -2004,7 +2004,7 @@ void ModuleMapParser::handleConfigMacros(
                                     CMD.Macros.begin(), CMD.Macros.end());
 }
 
-void ModuleMapParser::handleConflict(const modulemap::ConflictDecl &CD) {
+void ModuleMapLoader::handleConflict(const modulemap::ConflictDecl &CD) {
   Module::UnresolvedConflict Conflict;
 
   Conflict.Id = CD.Id;
@@ -2013,7 +2013,7 @@ void ModuleMapParser::handleConflict(const modulemap::ConflictDecl &CD) {
   ActiveModule->UnresolvedConflicts.push_back(Conflict);
 }
 
-void ModuleMapParser::handleInferredModuleDecl(
+void ModuleMapLoader::handleInferredModuleDecl(
     const modulemap::ModuleDecl &MD) {
   SourceLocation StarLoc = MD.Id.front().second;
 
@@ -2103,7 +2103,7 @@ void ModuleMapParser::handleInferredModuleDecl(
   }
 }
 
-bool ModuleMapParser::parseModuleMapFile() {
+bool ModuleMapLoader::loadModuleMapFile() {
   for (const auto &Decl : MMF.Decls) {
     std::visit(
         llvm::makeVisitor(
@@ -2116,14 +2116,14 @@ bool ModuleMapParser::parseModuleMapFile() {
   return HadError;
 }
 
-bool ModuleMap::parseModuleMapFile(FileEntryRef File, bool IsSystem,
+bool ModuleMap::loadModuleMapFile(FileEntryRef File, bool IsSystem,
                                    DirectoryEntryRef Dir, FileID ID,
                                    unsigned *Offset,
                                    SourceLocation ExternModuleLoc) {
   assert(Target && "Missing target information");
   llvm::DenseMap<const FileEntry *, bool>::iterator Known
-    = ParsedModuleMap.find(File);
-  if (Known != ParsedModuleMap.end())
+    = LoadedModuleMap.find(File);
+  if (Known != LoadedModuleMap.end())
     return Known->second;
 
   // If the module map file wasn't already entered, do so now.
@@ -2136,7 +2136,7 @@ bool ModuleMap::parseModuleMapFile(FileEntryRef File, bool IsSystem,
   assert(Target && "Missing target information");
   std::optional<llvm::MemoryBufferRef> Buffer = SourceMgr.getBufferOrNone(ID);
   if (!Buffer)
-    return ParsedModuleMap[File] = true;
+    return LoadedModuleMap[File] = true;
   assert((!Offset || *Offset <= Buffer->getBufferSize()) &&
          "invalid buffer offset");
 
@@ -2144,12 +2144,12 @@ bool ModuleMap::parseModuleMapFile(FileEntryRef File, bool IsSystem,
       modulemap::parseModuleMap(ID, Dir, SourceMgr, Diags, IsSystem, Offset);
   bool Result = false;
   if (MMF) {
-    ModuleMapParser Parser(*MMF, SourceMgr, Diags, *this, ID, Dir, IsSystem);
-    Result = Parser.parseModuleMapFile();
+    ModuleMapLoader Loader(*MMF, SourceMgr, Diags, *this, ID, Dir, IsSystem);
+    Result = Loader.loadModuleMapFile();
   }
-  ParsedModuleMap[File] = Result;
+  LoadedModuleMap[File] = Result;
 
-  // Notify callbacks that we parsed it.
+  // Notify callbacks that we loaded it.
   for (const auto &Cb : Callbacks)
     Cb->moduleMapFileRead(MMF ? MMF->Start : SourceLocation(), File, IsSystem);
 

``````````

</details>

author_association: MEMBER
user: login: llvmbot
created_at: 2025-03-25T18:17:25Z
body: 
<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang-modules

Author: Michael Spencer (Bigcheese)

<details>
<summary>Changes</summary>

Now that we have ModuleMapFile.cpp which parses module maps, it's confusing what ModuleMap::parseModuleMapFile actually does. HeaderSearch already called this loading a module map, so consistently use that term in ModuleMap too.

An upcoming patch will allow just parsing a module map without loading the modules from it.

---
Full diff: https://github.com/llvm/llvm-project/pull/132970.diff


4 Files Affected:

- (modified) clang-tools-extra/modularize/ModuleAssistant.cpp (+2-2) 
- (modified) clang/include/clang/Lex/ModuleMap.h (+10-10) 
- (modified) clang/lib/Lex/HeaderSearch.cpp (+2-2) 
- (modified) clang/lib/Lex/ModuleMap.cpp (+31-31) 


``````````diff
diff --git a/clang-tools-extra/modularize/ModuleAssistant.cpp b/clang-tools-extra/modularize/ModuleAssistant.cpp
index c7259d70bd58f..b4ec96617449f 100644
--- a/clang-tools-extra/modularize/ModuleAssistant.cpp
+++ b/clang-tools-extra/modularize/ModuleAssistant.cpp
@@ -129,8 +129,8 @@ Module *Module::findSubModule(llvm::StringRef SubName) {
 // Implementation functions:
 
 // Reserved keywords in module.modulemap syntax.
-// Keep in sync with keywords in module map parser in Lex/ModuleMap.cpp,
-// such as in ModuleMapParser::consumeToken().
+// Keep in sync with keywords in module map parser in Lex/ModuleMapFile.cpp,
+// such as in ModuleMapFileParser::consumeToken().
 static const char *const ReservedNames[] = {
   "config_macros", "export",   "module", "conflict", "framework",
   "requires",      "exclude",  "header", "private",  "explicit",
diff --git a/clang/include/clang/Lex/ModuleMap.h b/clang/include/clang/Lex/ModuleMap.h
index 3baeea08cc0e3..43c3890631bd1 100644
--- a/clang/include/clang/Lex/ModuleMap.h
+++ b/clang/include/clang/Lex/ModuleMap.h
@@ -43,7 +43,7 @@ class FileManager;
 class HeaderSearch;
 class SourceManager;
 
-/// A mechanism to observe the actions of the module map parser as it
+/// A mechanism to observe the actions of the module map loader as it
 /// reads module map files.
 class ModuleMapCallbacks {
   virtual void anchor();
@@ -195,7 +195,7 @@ class ModuleMap {
   using AdditionalModMapsSet = llvm::DenseSet<FileEntryRef>;
 
 private:
-  friend class ModuleMapParser;
+  friend class ModuleMapLoader;
 
   using HeadersMap = llvm::DenseMap<FileEntryRef, SmallVector<KnownHeader, 1>>;
 
@@ -259,9 +259,9 @@ class ModuleMap {
 
   llvm::DenseMap<const Module *, AdditionalModMapsSet> AdditionalModMaps;
 
-  /// Describes whether we haved parsed a particular file as a module
+  /// Describes whether we haved loaded a particular file as a module
   /// map.
-  llvm::DenseMap<const FileEntry *, bool> ParsedModuleMap;
+  llvm::DenseMap<const FileEntry *, bool> LoadedModuleMap;
 
   /// Resolve the given export declaration into an actual export
   /// declaration.
@@ -693,10 +693,10 @@ class ModuleMap {
   void addHeader(Module *Mod, Module::Header Header,
                  ModuleHeaderRole Role, bool Imported = false);
 
-  /// Parse the given module map file, and record any modules we
+  /// Load the given module map file, and record any modules we
   /// encounter.
   ///
-  /// \param File The file to be parsed.
+  /// \param File The file to be loaded.
   ///
   /// \param IsSystem Whether this module map file is in a system header
   /// directory, and therefore should be considered a system module.
@@ -713,10 +713,10 @@ class ModuleMap {
   ///        that caused us to load this module map file, if any.
   ///
   /// \returns true if an error occurred, false otherwise.
-  bool parseModuleMapFile(FileEntryRef File, bool IsSystem,
-                          DirectoryEntryRef HomeDir, FileID ID = FileID(),
-                          unsigned *Offset = nullptr,
-                          SourceLocation ExternModuleLoc = SourceLocation());
+  bool loadModuleMapFile(FileEntryRef File, bool IsSystem,
+                         DirectoryEntryRef HomeDir, FileID ID = FileID(),
+                         unsigned *Offset = nullptr,
+                         SourceLocation ExternModuleLoc = SourceLocation());
 
   /// Dump the contents of the module map, for debugging purposes.
   void dump();
diff --git a/clang/lib/Lex/HeaderSearch.cpp b/clang/lib/Lex/HeaderSearch.cpp
index ad9263f2994f2..95f294238a0d4 100644
--- a/clang/lib/Lex/HeaderSearch.cpp
+++ b/clang/lib/Lex/HeaderSearch.cpp
@@ -1783,7 +1783,7 @@ HeaderSearch::loadModuleMapFileImpl(FileEntryRef File, bool IsSystem,
   if (!AddResult.second)
     return AddResult.first->second ? LMM_AlreadyLoaded : LMM_InvalidModuleMap;
 
-  if (ModMap.parseModuleMapFile(File, IsSystem, Dir, ID, Offset)) {
+  if (ModMap.loadModuleMapFile(File, IsSystem, Dir, ID, Offset)) {
     LoadedModuleMaps[File] = false;
     return LMM_InvalidModuleMap;
   }
@@ -1791,7 +1791,7 @@ HeaderSearch::loadModuleMapFileImpl(FileEntryRef File, bool IsSystem,
   // Try to load a corresponding private module map.
   if (OptionalFileEntryRef PMMFile =
           getPrivateModuleMap(File, FileMgr, Diags)) {
-    if (ModMap.parseModuleMapFile(*PMMFile, IsSystem, Dir)) {
+    if (ModMap.loadModuleMapFile(*PMMFile, IsSystem, Dir)) {
       LoadedModuleMaps[File] = false;
       return LMM_InvalidModuleMap;
     }
diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp
index ea142bcc70f8f..ab51b3a103b07 100644
--- a/clang/lib/Lex/ModuleMap.cpp
+++ b/clang/lib/Lex/ModuleMap.cpp
@@ -1051,7 +1051,7 @@ Module *ModuleMap::inferFrameworkModule(DirectoryEntryRef FrameworkDir,
           bool IsFrameworkDir = Parent.ends_with(".framework");
           if (OptionalFileEntryRef ModMapFile =
                   HeaderInfo.lookupModuleMapFile(*ParentDir, IsFrameworkDir)) {
-            parseModuleMapFile(*ModMapFile, Attrs.IsSystem, *ParentDir);
+            loadModuleMapFile(*ModMapFile, Attrs.IsSystem, *ParentDir);
             inferred = InferredDirectories.find(*ParentDir);
           }
 
@@ -1354,7 +1354,7 @@ std::error_code
 ModuleMap::canonicalizeModuleMapPath(SmallVectorImpl<char> &Path) {
   StringRef Dir = llvm::sys::path::parent_path({Path.data(), Path.size()});
 
-  // Do not canonicalize within the framework; the module map parser expects
+  // Do not canonicalize within the framework; the module map loader expects
   // Modules/ not Versions/A/Modules.
   if (llvm::sys::path::filename(Dir) == "Modules") {
     StringRef Parent = llvm::sys::path::parent_path(Dir);
@@ -1453,11 +1453,11 @@ bool ModuleMap::resolveConflicts(Module *Mod, bool Complain) {
 }
 
 //----------------------------------------------------------------------------//
-// Module map file parser
+// Module map file loader
 //----------------------------------------------------------------------------//
 
 namespace clang {
-class ModuleMapParser {
+class ModuleMapLoader {
   modulemap::ModuleMapFile &MMF;
   SourceManager &SourceMgr;
 
@@ -1467,7 +1467,7 @@ class ModuleMapParser {
   /// The current module map file.
   FileID ModuleMapFID;
 
-  /// Source location of most recent parsed module declaration
+  /// Source location of most recent loaded module declaration
   SourceLocation CurrModuleDeclLoc;
 
   /// The directory that file names in this module map file should
@@ -1515,13 +1515,13 @@ class ModuleMapParser {
   using Attributes = ModuleMap::Attributes;
 
 public:
-  ModuleMapParser(modulemap::ModuleMapFile &MMF, SourceManager &SourceMgr,
+  ModuleMapLoader(modulemap::ModuleMapFile &MMF, SourceManager &SourceMgr,
                   DiagnosticsEngine &Diags, ModuleMap &Map, FileID ModuleMapFID,
                   DirectoryEntryRef Directory, bool IsSystem)
       : MMF(MMF), SourceMgr(SourceMgr), Diags(Diags), Map(Map),
         ModuleMapFID(ModuleMapFID), Directory(Directory), IsSystem(IsSystem) {}
 
-  bool parseModuleMapFile();
+  bool loadModuleMapFile();
 };
 
 } // namespace clang
@@ -1530,7 +1530,7 @@ class ModuleMapParser {
 /// module map search logic to find the appropriate private module when PCH
 /// is used with implicit module maps. Warn when private modules are written
 /// in other ways (FooPrivate and Foo.Private), providing notes and fixits.
-void ModuleMapParser::diagnosePrivateModules(SourceLocation StartLoc) {
+void ModuleMapLoader::diagnosePrivateModules(SourceLocation StartLoc) {
   auto GenNoteAndFixIt = [&](StringRef BadName, StringRef Canonical,
                              const Module *M, SourceRange ReplLoc) {
     auto D = Diags.Report(ActiveModule->DefinitionLoc,
@@ -1584,7 +1584,7 @@ void ModuleMapParser::diagnosePrivateModules(SourceLocation StartLoc) {
   }
 }
 
-void ModuleMapParser::handleModuleDecl(const modulemap::ModuleDecl &MD) {
+void ModuleMapLoader::handleModuleDecl(const modulemap::ModuleDecl &MD) {
   if (MD.Id.front().first == "*")
     return handleInferredModuleDecl(MD);
 
@@ -1763,7 +1763,7 @@ void ModuleMapParser::handleModuleDecl(const modulemap::ModuleDecl &MD) {
   ActiveModule = PreviousActiveModule;
 }
 
-void ModuleMapParser::handleExternModuleDecl(
+void ModuleMapLoader::handleExternModuleDecl(
     const modulemap::ExternModuleDecl &EMD) {
   StringRef FileNameRef = EMD.Path;
   SmallString<128> ModuleMapFileName;
@@ -1773,7 +1773,7 @@ void ModuleMapParser::handleExternModuleDecl(
     FileNameRef = ModuleMapFileName;
   }
   if (auto File = SourceMgr.getFileManager().getOptionalFileRef(FileNameRef))
-    Map.parseModuleMapFile(
+    Map.loadModuleMapFile(
         *File, IsSystem,
         Map.HeaderInfo.getHeaderSearchOpts().ModuleMapFileHomeIsCwd
             ? Directory
@@ -1810,7 +1810,7 @@ static bool shouldAddRequirement(Module *M, StringRef Feature,
   return true;
 }
 
-void ModuleMapParser::handleRequiresDecl(const modulemap::RequiresDecl &RD) {
+void ModuleMapLoader::handleRequiresDecl(const modulemap::RequiresDecl &RD) {
 
   for (const modulemap::RequiresFeature &RF : RD.Features) {
     bool IsRequiresExcludedHack = false;
@@ -1828,7 +1828,7 @@ void ModuleMapParser::handleRequiresDecl(const modulemap::RequiresDecl &RD) {
   }
 }
 
-void ModuleMapParser::handleHeaderDecl(const modulemap::HeaderDecl &HD) {
+void ModuleMapLoader::handleHeaderDecl(const modulemap::HeaderDecl &HD) {
   // We've already consumed the first token.
   ModuleMap::ModuleHeaderRole Role = ModuleMap::NormalHeader;
 
@@ -1887,7 +1887,7 @@ static bool compareModuleHeaders(const Module::Header &A,
   return A.NameAsWritten < B.NameAsWritten;
 }
 
-void ModuleMapParser::handleUmbrellaDirDecl(
+void ModuleMapLoader::handleUmbrellaDirDecl(
     const modulemap::UmbrellaDirDecl &UDD) {
   std::string DirName = std::string(UDD.Path);
   std::string DirNameAsWritten = DirName;
@@ -1919,7 +1919,7 @@ void ModuleMapParser::handleUmbrellaDirDecl(
 
   if (UsesRequiresExcludedHack.count(ActiveModule)) {
     // Mark this header 'textual' (see doc comment for
-    // ModuleMapParser::UsesRequiresExcludedHack). Although iterating over the
+    // ModuleMapLoader::UsesRequiresExcludedHack). Although iterating over the
     // directory is relatively expensive, in practice this only applies to the
     // uncommonly used Tcl module on Darwin platforms.
     std::error_code EC;
@@ -1953,12 +1953,12 @@ void ModuleMapParser::handleUmbrellaDirDecl(
   Map.setUmbrellaDirAsWritten(ActiveModule, *Dir, DirNameAsWritten, DirName);
 }
 
-void ModuleMapParser::handleExportDecl(const modulemap::ExportDecl &ED) {
+void ModuleMapLoader::handleExportDecl(const modulemap::ExportDecl &ED) {
   Module::UnresolvedExportDecl Unresolved = {ED.Location, ED.Id, ED.Wildcard};
   ActiveModule->UnresolvedExports.push_back(Unresolved);
 }
 
-void ModuleMapParser::handleExportAsDecl(const modulemap::ExportAsDecl &EAD) {
+void ModuleMapLoader::handleExportAsDecl(const modulemap::ExportAsDecl &EAD) {
   auto ModName = EAD.Id.front();
 
   if (!ActiveModule->ExportAsModule.empty()) {
@@ -1976,19 +1976,19 @@ void ModuleMapParser::handleExportAsDecl(const modulemap::ExportAsDecl &EAD) {
   Map.addLinkAsDependency(ActiveModule);
 }
 
-void ModuleMapParser::handleUseDecl(const modulemap::UseDecl &UD) {
+void ModuleMapLoader::handleUseDecl(const modulemap::UseDecl &UD) {
   if (ActiveModule->Parent)
     Diags.Report(UD.Location, diag::err_mmap_use_decl_submodule);
   else
     ActiveModule->UnresolvedDirectUses.push_back(UD.Id);
 }
 
-void ModuleMapParser::handleLinkDecl(const modulemap::LinkDecl &LD) {
+void ModuleMapLoader::handleLinkDecl(const modulemap::LinkDecl &LD) {
   ActiveModule->LinkLibraries.push_back(
       Module::LinkLibrary(std::string{LD.Library}, LD.Framework));
 }
 
-void ModuleMapParser::handleConfigMacros(
+void ModuleMapLoader::handleConfigMacros(
     const modulemap::ConfigMacrosDecl &CMD) {
   if (ActiveModule->Parent) {
     Diags.Report(CMD.Location, diag::err_mmap_config_macro_submodule);
@@ -2004,7 +2004,7 @@ void ModuleMapParser::handleConfigMacros(
                                     CMD.Macros.begin(), CMD.Macros.end());
 }
 
-void ModuleMapParser::handleConflict(const modulemap::ConflictDecl &CD) {
+void ModuleMapLoader::handleConflict(const modulemap::ConflictDecl &CD) {
   Module::UnresolvedConflict Conflict;
 
   Conflict.Id = CD.Id;
@@ -2013,7 +2013,7 @@ void ModuleMapParser::handleConflict(const modulemap::ConflictDecl &CD) {
   ActiveModule->UnresolvedConflicts.push_back(Conflict);
 }
 
-void ModuleMapParser::handleInferredModuleDecl(
+void ModuleMapLoader::handleInferredModuleDecl(
     const modulemap::ModuleDecl &MD) {
   SourceLocation StarLoc = MD.Id.front().second;
 
@@ -2103,7 +2103,7 @@ void ModuleMapParser::handleInferredModuleDecl(
   }
 }
 
-bool ModuleMapParser::parseModuleMapFile() {
+bool ModuleMapLoader::loadModuleMapFile() {
   for (const auto &Decl : MMF.Decls) {
     std::visit(
         llvm::makeVisitor(
@@ -2116,14 +2116,14 @@ bool ModuleMapParser::parseModuleMapFile() {
   return HadError;
 }
 
-bool ModuleMap::parseModuleMapFile(FileEntryRef File, bool IsSystem,
+bool ModuleMap::loadModuleMapFile(FileEntryRef File, bool IsSystem,
                                    DirectoryEntryRef Dir, FileID ID,
                                    unsigned *Offset,
                                    SourceLocation ExternModuleLoc) {
   assert(Target && "Missing target information");
   llvm::DenseMap<const FileEntry *, bool>::iterator Known
-    = ParsedModuleMap.find(File);
-  if (Known != ParsedModuleMap.end())
+    = LoadedModuleMap.find(File);
+  if (Known != LoadedModuleMap.end())
     return Known->second;
 
   // If the module map file wasn't already entered, do so now.
@@ -2136,7 +2136,7 @@ bool ModuleMap::parseModuleMapFile(FileEntryRef File, bool IsSystem,
   assert(Target && "Missing target information");
   std::optional<llvm::MemoryBufferRef> Buffer = SourceMgr.getBufferOrNone(ID);
   if (!Buffer)
-    return ParsedModuleMap[File] = true;
+    return LoadedModuleMap[File] = true;
   assert((!Offset || *Offset <= Buffer->getBufferSize()) &&
          "invalid buffer offset");
 
@@ -2144,12 +2144,12 @@ bool ModuleMap::parseModuleMapFile(FileEntryRef File, bool IsSystem,
       modulemap::parseModuleMap(ID, Dir, SourceMgr, Diags, IsSystem, Offset);
   bool Result = false;
   if (MMF) {
-    ModuleMapParser Parser(*MMF, SourceMgr, Diags, *this, ID, Dir, IsSystem);
-    Result = Parser.parseModuleMapFile();
+    ModuleMapLoader Loader(*MMF, SourceMgr, Diags, *this, ID, Dir, IsSystem);
+    Result = Loader.loadModuleMapFile();
   }
-  ParsedModuleMap[File] = Result;
+  LoadedModuleMap[File] = Result;
 
-  // Notify callbacks that we parsed it.
+  // Notify callbacks that we loaded it.
   for (const auto &Cb : Callbacks)
     Cb->moduleMapFileRead(MMF ? MMF->Start : SourceLocation(), File, IsSystem);
 

``````````

</details>

author_association: MEMBER
user: login: github-actions[bot]
created_at: 2025-03-25T18:20:09Z
body: <!--LLVM CODE FORMAT COMMENT: {clang-format}-->

:white_check_mark: With the latest revision this PR passed the C/C++ code formatter.
author_association: NONE
user: login: llvm-ci
created_at: 2025-03-25T19:39:29Z
body: LLVM Buildbot has detected a new failure on builder `clang-hip-vega20` running on `hip-vega20-0` while building `clang-tools-extra,clang` at step 3 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/123/builds/16245

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 3 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/hip-build.sh --jobs=' (failure)
...
[383/714] Building CXX object tools/clang/tools/extra/clang-apply-replacements/tool/CMakeFiles/clang-apply-replacements.dir/ClangApplyReplacementsMain.cpp.o
[384/714] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/ForwardDeclChecker.cpp.o
[385/714] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/InterpreterValuePrinter.cpp.o
[386/714] Building CXX object tools/clang/tools/clang-refactor/CMakeFiles/clang-refactor.dir/ClangRefactor.cpp.o
[387/714] Building CXX object tools/clang/tools/extra/clang-tidy/mpi/CMakeFiles/obj.clangTidyMPIModule.dir/MPITidyModule.cpp.o
[388/714] Building CXX object tools/clang/tools/extra/clang-apply-replacements/CMakeFiles/obj.clangApplyReplacements.dir/lib/Tooling/ApplyReplacements.cpp.o
[389/714] Linking CXX static library lib/libclangApplyReplacements.a
[390/714] Linking CXX executable bin/clang-apply-replacements
[391/714] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/RetainPtrCtorAdoptChecker.cpp.o
[392/714] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o
FAILED: tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o 
ccache /usr/bin/c++ -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/botworker/bbot/clang-hip-vega20/botworker/clang-hip-vega20/llvm/tools/clang/tools/extra/modularize -I/home/botworker/bbot/clang-hip-vega20/llvm-project/clang-tools-extra/modularize -I/home/botworker/bbot/clang-hip-vega20/llvm-project/clang/include -I/home/botworker/bbot/clang-hip-vega20/botworker/clang-hip-vega20/llvm/tools/clang/include -I/home/botworker/bbot/clang-hip-vega20/botworker/clang-hip-vega20/llvm/include -I/home/botworker/bbot/clang-hip-vega20/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -fno-strict-aliasing -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o -MF tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o.d -o tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o -c /home/botworker/bbot/clang-hip-vega20/llvm-project/clang-tools-extra/modularize/ModularizeUtilities.cpp
/home/botworker/bbot/clang-hip-vega20/llvm-project/clang-tools-extra/modularize/ModularizeUtilities.cpp: In member function ‘std::error_code Modularize::ModularizeUtilities::loadModuleMap(llvm::StringRef)’:
/home/botworker/bbot/clang-hip-vega20/llvm-project/clang-tools-extra/modularize/ModularizeUtilities.cpp:293:15: error: ‘class clang::ModuleMap’ has no member named ‘parseModuleMapFile’; did you mean ‘loadModuleMapFile’?
  293 |   if (ModMap->parseModuleMapFile(ModuleMapEntry, false, Dir)) {
      |               ^~~~~~~~~~~~~~~~~~
      |               loadModuleMapFile
[393/714] Linking CXX static library lib/libclangStaticAnalyzerCheckers.a
[394/714] Building CXX object tools/clang/tools/clang-installapi/CMakeFiles/clang-installapi.dir/ClangInstallAPI.cpp.o
[395/714] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/CoverageChecker.cpp.o
[396/714] Linking CXX executable bin/clang-refactor
[397/714] Building CXX object tools/clang/tools/extra/clang-tidy/CMakeFiles/obj.clangTidy.dir/ExpandModularHeadersPPCallbacks.cpp.o
[398/714] Building CXX object tools/clang/tools/clang-repl/CMakeFiles/clang-repl.dir/ClangRepl.cpp.o
[399/714] Building CXX object tools/clang/tools/clang-scan-deps/CMakeFiles/clang-scan-deps.dir/ClangScanDeps.cpp.o
[400/714] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/Interpreter.cpp.o
[401/714] Linking CXX executable bin/clang-import-test
[402/714] Building CXX object tools/clang/tools/extra/clang-query/tool/CMakeFiles/clang-query.dir/ClangQuery.cpp.o
[403/714] Building CXX object tools/clang/tools/extra/clang-move/CMakeFiles/obj.clangMove.dir/HelperDeclRefGraph.cpp.o
[404/714] Building CXX object tools/clang/tools/extra/clang-reorder-fields/CMakeFiles/obj.clangReorderFields.dir/ReorderFieldsAction.cpp.o
[405/714] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/BadSignalToKillThreadCheck.cpp.o
[406/714] Building CXX object tools/clang/tools/extra/clang-tidy/altera/CMakeFiles/obj.clangTidyAlteraModule.dir/KernelNameRestrictionCheck.cpp.o
[407/714] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/LambdaFunctionNameCheck.cpp.o
[408/714] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/MacroParenthesesCheck.cpp.o
[409/714] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/MacroRepeatedSideEffectsCheck.cpp.o
[410/714] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/SuspiciousIncludeCheck.cpp.o
[411/714] Building CXX object tools/clang/tools/extra/clang-tidy/abseil/CMakeFiles/obj.clangTidyAbseilModule.dir/StringFindStartswithCheck.cpp.o
[412/714] Building CXX object tools/clang/tools/extra/clang-tidy/concurrency/CMakeFiles/obj.clangTidyConcurrencyModule.dir/ThreadCanceltypeAsynchronousCheck.cpp.o
[413/714] Building CXX object tools/clang/tools/extra/clang-tidy/cert/CMakeFiles/obj.clangTidyCERTModule.dir/SetLongJmpCheck.cpp.o
[414/714] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/Modularize.cpp.o
[415/714] Building CXX object tools/clang/tools/extra/clang-tidy/CMakeFiles/obj.clangTidy.dir/ClangTidy.cpp.o
[416/714] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/InitVariablesCheck.cpp.o
[417/714] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/MacroUsageCheck.cpp.o
[418/714] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/UnsafeFunctionsCheck.cpp.o
[419/714] Building CXX object tools/clang/tools/extra/clang-tidy/google/CMakeFiles/obj.clangTidyGoogleModule.dir/AvoidUnderscoreInGoogletestNameCheck.cpp.o
[420/714] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/ProTypeVarargCheck.cpp.o
[421/714] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/ProBoundsConstantArrayIndexCheck.cpp.o
[422/714] Building CXX object tools/clang/tools/extra/clang-tidy/google/CMakeFiles/obj.clangTidyGoogleModule.dir/TodoCommentCheck.cpp.o
[423/714] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/NotNullTerminatedResultCheck.cpp.o
[424/714] Building CXX object tools/clang/tools/extra/clang-tidy/google/CMakeFiles/obj.clangTidyGoogleModule.dir/UpgradeGoogletestCaseCheck.cpp.o
Step 7 (Building LLVM) failure: Building LLVM (failure)
...
[383/714] Building CXX object tools/clang/tools/extra/clang-apply-replacements/tool/CMakeFiles/clang-apply-replacements.dir/ClangApplyReplacementsMain.cpp.o
[384/714] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/ForwardDeclChecker.cpp.o
[385/714] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/InterpreterValuePrinter.cpp.o
[386/714] Building CXX object tools/clang/tools/clang-refactor/CMakeFiles/clang-refactor.dir/ClangRefactor.cpp.o
[387/714] Building CXX object tools/clang/tools/extra/clang-tidy/mpi/CMakeFiles/obj.clangTidyMPIModule.dir/MPITidyModule.cpp.o
[388/714] Building CXX object tools/clang/tools/extra/clang-apply-replacements/CMakeFiles/obj.clangApplyReplacements.dir/lib/Tooling/ApplyReplacements.cpp.o
[389/714] Linking CXX static library lib/libclangApplyReplacements.a
[390/714] Linking CXX executable bin/clang-apply-replacements
[391/714] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/RetainPtrCtorAdoptChecker.cpp.o
[392/714] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o
FAILED: tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o 
ccache /usr/bin/c++ -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/botworker/bbot/clang-hip-vega20/botworker/clang-hip-vega20/llvm/tools/clang/tools/extra/modularize -I/home/botworker/bbot/clang-hip-vega20/llvm-project/clang-tools-extra/modularize -I/home/botworker/bbot/clang-hip-vega20/llvm-project/clang/include -I/home/botworker/bbot/clang-hip-vega20/botworker/clang-hip-vega20/llvm/tools/clang/include -I/home/botworker/bbot/clang-hip-vega20/botworker/clang-hip-vega20/llvm/include -I/home/botworker/bbot/clang-hip-vega20/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -fno-strict-aliasing -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o -MF tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o.d -o tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o -c /home/botworker/bbot/clang-hip-vega20/llvm-project/clang-tools-extra/modularize/ModularizeUtilities.cpp
/home/botworker/bbot/clang-hip-vega20/llvm-project/clang-tools-extra/modularize/ModularizeUtilities.cpp: In member function ‘std::error_code Modularize::ModularizeUtilities::loadModuleMap(llvm::StringRef)’:
/home/botworker/bbot/clang-hip-vega20/llvm-project/clang-tools-extra/modularize/ModularizeUtilities.cpp:293:15: error: ‘class clang::ModuleMap’ has no member named ‘parseModuleMapFile’; did you mean ‘loadModuleMapFile’?
  293 |   if (ModMap->parseModuleMapFile(ModuleMapEntry, false, Dir)) {
      |               ^~~~~~~~~~~~~~~~~~
      |               loadModuleMapFile
[393/714] Linking CXX static library lib/libclangStaticAnalyzerCheckers.a
[394/714] Building CXX object tools/clang/tools/clang-installapi/CMakeFiles/clang-installapi.dir/ClangInstallAPI.cpp.o
[395/714] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/CoverageChecker.cpp.o
[396/714] Linking CXX executable bin/clang-refactor
[397/714] Building CXX object tools/clang/tools/extra/clang-tidy/CMakeFiles/obj.clangTidy.dir/ExpandModularHeadersPPCallbacks.cpp.o
[398/714] Building CXX object tools/clang/tools/clang-repl/CMakeFiles/clang-repl.dir/ClangRepl.cpp.o
[399/714] Building CXX object tools/clang/tools/clang-scan-deps/CMakeFiles/clang-scan-deps.dir/ClangScanDeps.cpp.o
[400/714] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/Interpreter.cpp.o
[401/714] Linking CXX executable bin/clang-import-test
[402/714] Building CXX object tools/clang/tools/extra/clang-query/tool/CMakeFiles/clang-query.dir/ClangQuery.cpp.o
[403/714] Building CXX object tools/clang/tools/extra/clang-move/CMakeFiles/obj.clangMove.dir/HelperDeclRefGraph.cpp.o
[404/714] Building CXX object tools/clang/tools/extra/clang-reorder-fields/CMakeFiles/obj.clangReorderFields.dir/ReorderFieldsAction.cpp.o
[405/714] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/BadSignalToKillThreadCheck.cpp.o
[406/714] Building CXX object tools/clang/tools/extra/clang-tidy/altera/CMakeFiles/obj.clangTidyAlteraModule.dir/KernelNameRestrictionCheck.cpp.o
[407/714] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/LambdaFunctionNameCheck.cpp.o
[408/714] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/MacroParenthesesCheck.cpp.o
[409/714] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/MacroRepeatedSideEffectsCheck.cpp.o
[410/714] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/SuspiciousIncludeCheck.cpp.o
[411/714] Building CXX object tools/clang/tools/extra/clang-tidy/abseil/CMakeFiles/obj.clangTidyAbseilModule.dir/StringFindStartswithCheck.cpp.o
[412/714] Building CXX object tools/clang/tools/extra/clang-tidy/concurrency/CMakeFiles/obj.clangTidyConcurrencyModule.dir/ThreadCanceltypeAsynchronousCheck.cpp.o
[413/714] Building CXX object tools/clang/tools/extra/clang-tidy/cert/CMakeFiles/obj.clangTidyCERTModule.dir/SetLongJmpCheck.cpp.o
[414/714] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/Modularize.cpp.o
[415/714] Building CXX object tools/clang/tools/extra/clang-tidy/CMakeFiles/obj.clangTidy.dir/ClangTidy.cpp.o
[416/714] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/InitVariablesCheck.cpp.o
[417/714] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/MacroUsageCheck.cpp.o
[418/714] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/UnsafeFunctionsCheck.cpp.o
[419/714] Building CXX object tools/clang/tools/extra/clang-tidy/google/CMakeFiles/obj.clangTidyGoogleModule.dir/AvoidUnderscoreInGoogletestNameCheck.cpp.o
[420/714] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/ProTypeVarargCheck.cpp.o
[421/714] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/ProBoundsConstantArrayIndexCheck.cpp.o
[422/714] Building CXX object tools/clang/tools/extra/clang-tidy/google/CMakeFiles/obj.clangTidyGoogleModule.dir/TodoCommentCheck.cpp.o
[423/714] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/NotNullTerminatedResultCheck.cpp.o
[424/714] Building CXX object tools/clang/tools/extra/clang-tidy/google/CMakeFiles/obj.clangTidyGoogleModule.dir/UpgradeGoogletestCaseCheck.cpp.o

```

</details>
author_association: NONE
user: login: llvm-ci
created_at: 2025-03-25T19:39:35Z
body: LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-sie-ubuntu-fast` running on `sie-linux-worker` while building `clang-tools-extra,clang` at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/144/builds/21251

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 5 (build-unified-tree) failure: build (failure)
...
171.706 [203/40/384] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/PreprocessorTracker.cpp.o
172.077 [202/40/385] Building CXX object tools/clang/tools/clang-check/CMakeFiles/clang-check.dir/ClangCheck.cpp.o
172.285 [201/40/386] Linking CXX executable bin/clang-diff
172.300 [200/40/387] Building CXX object tools/clang/tools/clang-extdef-mapping/CMakeFiles/clang-extdef-mapping.dir/ClangExtDefMapGen.cpp.o
172.812 [199/40/388] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/InterpreterValuePrinter.cpp.o
174.363 [198/40/389] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/MemoryUnsafeCastChecker.cpp.o
174.375 [197/40/390] Linking CXX executable bin/clang-import-test
174.391 [196/40/391] Building CXX object tools/clang/tools/extra/clang-reorder-fields/tool/CMakeFiles/clang-reorder-fields.dir/ClangReorderFields.cpp.o
174.965 [195/40/392] Linking CXX executable bin/clang-extdef-mapping
175.245 [194/40/393] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o
FAILED: tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/g++ -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/tools/clang/tools/extra/modularize -I/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/clang-tools-extra/modularize -I/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/clang/include -I/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/tools/clang/include -I/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/include -I/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -fno-strict-aliasing -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o -MF tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o.d -o tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o -c /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/clang-tools-extra/modularize/ModularizeUtilities.cpp
/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/clang-tools-extra/modularize/ModularizeUtilities.cpp: In member function ‘std::error_code Modularize::ModularizeUtilities::loadModuleMap(llvm::StringRef)’:
/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/clang-tools-extra/modularize/ModularizeUtilities.cpp:293:15: error: ‘class clang::ModuleMap’ has no member named ‘parseModuleMapFile’; did you mean ‘loadModuleMapFile’?
  293 |   if (ModMap->parseModuleMapFile(ModuleMapEntry, false, Dir)) {
      |               ^~~~~~~~~~~~~~~~~~
      |               loadModuleMapFile
175.250 [194/39/394] Building CXX object tools/clang/tools/extra/clang-apply-replacements/tool/CMakeFiles/clang-apply-replacements.dir/ClangApplyReplacementsMain.cpp.o
175.505 [194/38/395] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/ForwardDeclChecker.cpp.o
175.603 [194/37/396] Building CXX object tools/clang/tools/c-index-test/CMakeFiles/c-index-test.dir/core_main.cpp.o
176.384 [194/36/397] Building CXX object tools/clang/tools/clang-installapi/CMakeFiles/clang-installapi.dir/ClangInstallAPI.cpp.o
176.609 [194/35/398] Building CXX object tools/clang/tools/extra/clang-apply-replacements/CMakeFiles/obj.clangApplyReplacements.dir/lib/Tooling/ApplyReplacements.cpp.o
177.303 [194/34/399] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/RetainPtrCtorAdoptChecker.cpp.o
178.536 [194/33/400] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/CoverageChecker.cpp.o
180.697 [194/32/401] Building CXX object tools/clang/tools/clang-repl/CMakeFiles/clang-repl.dir/ClangRepl.cpp.o
181.445 [194/31/402] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/Interpreter.cpp.o
182.035 [194/30/403] Building CXX object tools/clang/tools/clang-scan-deps/CMakeFiles/clang-scan-deps.dir/ClangScanDeps.cpp.o
182.495 [194/29/404] Building CXX object tools/clang/tools/extra/clang-tidy/CMakeFiles/obj.clangTidy.dir/ExpandModularHeadersPPCallbacks.cpp.o
183.416 [194/28/405] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/BadSignalToKillThreadCheck.cpp.o
183.982 [194/27/406] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/SuspiciousIncludeCheck.cpp.o
184.213 [194/26/407] Building CXX object tools/clang/tools/extra/clang-reorder-fields/CMakeFiles/obj.clangReorderFields.dir/ReorderFieldsAction.cpp.o
184.234 [194/25/408] Building CXX object tools/clang/tools/extra/clang-tidy/altera/CMakeFiles/obj.clangTidyAlteraModule.dir/KernelNameRestrictionCheck.cpp.o
184.500 [194/24/409] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/MacroParenthesesCheck.cpp.o
184.845 [194/23/410] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/LambdaFunctionNameCheck.cpp.o
185.034 [194/22/411] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/MacroRepeatedSideEffectsCheck.cpp.o
185.743 [194/21/412] Building CXX object tools/clang/tools/extra/clang-tidy/abseil/CMakeFiles/obj.clangTidyAbseilModule.dir/StringFindStartswithCheck.cpp.o
185.897 [194/20/413] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/InitVariablesCheck.cpp.o
186.019 [194/19/414] Building CXX object tools/clang/tools/extra/clang-tidy/cert/CMakeFiles/obj.clangTidyCERTModule.dir/SetLongJmpCheck.cpp.o
186.268 [194/18/415] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/UnsafeFunctionsCheck.cpp.o
186.281 [194/17/416] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/ProTypeVarargCheck.cpp.o
186.361 [194/16/417] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/MacroUsageCheck.cpp.o
187.240 [194/15/418] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/ProBoundsConstantArrayIndexCheck.cpp.o
187.310 [194/14/419] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/Modularize.cpp.o
187.984 [194/13/420] Building CXX object tools/clang/tools/extra/clang-tidy/CMakeFiles/obj.clangTidy.dir/ClangTidy.cpp.o
188.071 [194/12/421] Building CXX object tools/clang/tools/extra/clang-tidy/google/CMakeFiles/obj.clangTidyGoogleModule.dir/TodoCommentCheck.cpp.o
188.417 [194/11/422] Building CXX object tools/clang/tools/extra/clang-tidy/misc/CMakeFiles/obj.clangTidyMiscModule.dir/HeaderIncludeCycleCheck.cpp.o
188.621 [194/10/423] Building CXX object tools/clang/tools/extra/clang-tidy/google/CMakeFiles/obj.clangTidyGoogleModule.dir/AvoidUnderscoreInGoogletestNameCheck.cpp.o
188.635 [194/9/424] Building CXX object tools/clang/tools/extra/clang-tidy/llvmlibc/CMakeFiles/obj.clangTidyLLVMLibcModule.dir/RestrictSystemLibcHeadersCheck.cpp.o
188.781 [194/8/425] Building CXX object tools/clang/tools/extra/clang-tidy/llvm/CMakeFiles/obj.clangTidyLLVMModule.dir/IncludeOrderCheck.cpp.o

```

</details>
author_association: NONE
user: login: llvm-ci
created_at: 2025-03-25T19:41:10Z
body: LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-gcc-ubuntu` running on `sie-linux-worker3` while building `clang-tools-extra,clang` at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/174/builds/15144

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 5 (build-unified-tree) failure: build (failure)
...
203.798 [513/34/400] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/IncrementalParser.cpp.o
204.042 [512/34/401] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/MemoryUnsafeCastChecker.cpp.o
204.813 [511/34/402] Linking CXX executable bin/clang-diff
205.507 [510/34/403] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/PreprocessorTracker.cpp.o
205.589 [509/34/404] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/CodeCompletion.cpp.o
206.562 [508/34/405] Building CXX object tools/clang/tools/clang-extdef-mapping/CMakeFiles/clang-extdef-mapping.dir/ClangExtDefMapGen.cpp.o
207.142 [507/34/406] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/InterpreterValuePrinter.cpp.o
208.313 [506/34/407] Building CXX object tools/clang/tools/extra/clang-apply-replacements/tool/CMakeFiles/clang-apply-replacements.dir/ClangApplyReplacementsMain.cpp.o
208.383 [505/34/408] Building CXX object tools/clang/tools/clang-refactor/CMakeFiles/clang-refactor.dir/ClangRefactor.cpp.o
209.361 [504/34/409] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o
FAILED: tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o 
/opt/ccache/bin/g++ -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/clang/tools/extra/modularize -I/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang-tools-extra/modularize -I/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang/include -I/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/tools/clang/include -I/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/include -I/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -fno-strict-aliasing -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o -MF tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o.d -o tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o -c /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang-tools-extra/modularize/ModularizeUtilities.cpp
/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang-tools-extra/modularize/ModularizeUtilities.cpp: In member function ‘std::error_code Modularize::ModularizeUtilities::loadModuleMap(llvm::StringRef)’:
/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang-tools-extra/modularize/ModularizeUtilities.cpp:293:15: error: ‘class clang::ModuleMap’ has no member named ‘parseModuleMapFile’; did you mean ‘loadModuleMapFile’?
  293 |   if (ModMap->parseModuleMapFile(ModuleMapEntry, false, Dir)) {
      |               ^~~~~~~~~~~~~~~~~~
      |               loadModuleMapFile
209.451 [504/33/410] Building CXX object tools/clang/tools/clang-check/CMakeFiles/clang-check.dir/ClangCheck.cpp.o
209.484 [504/32/411] Building CXX object tools/clang/tools/c-index-test/CMakeFiles/c-index-test.dir/core_main.cpp.o
209.775 [504/31/412] Building CXX object tools/clang/tools/extra/clang-reorder-fields/tool/CMakeFiles/clang-reorder-fields.dir/ClangReorderFields.cpp.o
209.928 [504/30/413] Linking CXX executable bin/clang-extdef-mapping
210.696 [504/29/414] Building CXX object tools/clang/tools/clang-installapi/CMakeFiles/clang-installapi.dir/ClangInstallAPI.cpp.o
210.888 [504/28/415] Building CXX object tools/clang/tools/extra/clang-apply-replacements/CMakeFiles/obj.clangApplyReplacements.dir/lib/Tooling/ApplyReplacements.cpp.o
211.002 [504/27/416] Linking CXX executable bin/clang-refactor
211.902 [504/26/417] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/ForwardDeclChecker.cpp.o
212.742 [504/25/418] Building CXX object tools/clang/unittests/Analysis/FlowSensitive/CMakeFiles/ClangAnalysisFlowSensitiveTests.dir/CFGMatchSwitchTest.cpp.o
213.109 [504/24/419] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/CoverageChecker.cpp.o
214.073 [504/23/420] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/RetainPtrCtorAdoptChecker.cpp.o
214.637 [504/22/421] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/Interpreter.cpp.o
215.356 [504/21/422] Building CXX object tools/clang/tools/clang-repl/CMakeFiles/clang-repl.dir/ClangRepl.cpp.o
215.995 [504/20/423] Building CXX object tools/clang/tools/extra/clang-tidy/CMakeFiles/obj.clangTidy.dir/ExpandModularHeadersPPCallbacks.cpp.o
216.166 [504/19/424] Building CXX object tools/clang/tools/extra/clang-tidy/altera/CMakeFiles/obj.clangTidyAlteraModule.dir/KernelNameRestrictionCheck.cpp.o
217.348 [504/18/425] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/BadSignalToKillThreadCheck.cpp.o
217.407 [504/17/426] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/MacroParenthesesCheck.cpp.o
217.484 [504/16/427] Building CXX object tools/clang/tools/extra/clang-tidy/abseil/CMakeFiles/obj.clangTidyAbseilModule.dir/StringFindStartswithCheck.cpp.o
218.081 [504/15/428] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/LambdaFunctionNameCheck.cpp.o
218.425 [504/14/429] Building CXX object tools/clang/tools/extra/clang-tidy/concurrency/CMakeFiles/obj.clangTidyConcurrencyModule.dir/ThreadCanceltypeAsynchronousCheck.cpp.o
218.968 [504/13/430] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/SuspiciousIncludeCheck.cpp.o
219.089 [504/12/431] Building CXX object tools/clang/tools/extra/clang-reorder-fields/CMakeFiles/obj.clangReorderFields.dir/ReorderFieldsAction.cpp.o
219.234 [504/11/432] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/MacroRepeatedSideEffectsCheck.cpp.o
220.758 [504/10/433] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/UnsafeFunctionsCheck.cpp.o
220.865 [504/9/434] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/InitVariablesCheck.cpp.o
221.305 [504/8/435] Building CXX object tools/clang/tools/extra/clang-tidy/cert/CMakeFiles/obj.clangTidyCERTModule.dir/SetLongJmpCheck.cpp.o
221.514 [504/7/436] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/MacroUsageCheck.cpp.o
221.984 [504/6/437] Building CXX object tools/clang/tools/extra/clang-tidy/google/CMakeFiles/obj.clangTidyGoogleModule.dir/TodoCommentCheck.cpp.o
222.657 [504/5/438] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/NotNullTerminatedResultCheck.cpp.o
222.908 [504/4/439] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/ProBoundsConstantArrayIndexCheck.cpp.o
223.103 [504/3/440] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/ProTypeVarargCheck.cpp.o
223.392 [504/2/441] Building CXX object tools/clang/tools/extra/clang-tidy/google/CMakeFiles/obj.clangTidyGoogleModule.dir/AvoidUnderscoreInGoogletestNameCheck.cpp.o

```

</details>
author_association: NONE
user: login: llvm-ci
created_at: 2025-03-25T19:41:37Z
body: LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-sie-win` running on `sie-win-worker` while building `clang-tools-extra,clang` at step 6 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/46/builds/14192

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 6 (build-unified-tree) failure: build (failure)
...
[4105/4859] Building CXX object tools\clang\tools\extra\clang-tidy\readability\CMakeFiles\obj.clangTidyReadabilityModule.dir\DeleteNullPointerCheck.cpp.obj
[4106/4859] Building CXX object tools\clang\lib\StaticAnalyzer\Checkers\CMakeFiles\obj.clangStaticAnalyzerCheckers.dir\WebKit\RawPtrRefLocalVarsChecker.cpp.obj
[4107/4859] Building CXX object tools\clang\tools\extra\clang-reorder-fields\CMakeFiles\obj.clangReorderFields.dir\ReorderFieldsAction.cpp.obj
[4108/4859] Building CXX object tools\clang\tools\extra\clang-tidy\readability\CMakeFiles\obj.clangTidyReadabilityModule.dir\EnumInitialValueCheck.cpp.obj
[4109/4859] Building CXX object tools\clang\tools\extra\clang-tidy\readability\CMakeFiles\obj.clangTidyReadabilityModule.dir\FunctionCognitiveComplexityCheck.cpp.obj
[4110/4859] Linking CXX static library lib\clangReorderFields.lib
[4111/4859] Building CXX object tools\clang\tools\extra\clang-tidy\readability\CMakeFiles\obj.clangTidyReadabilityModule.dir\FunctionSizeCheck.cpp.obj
[4112/4859] Building CXX object tools\clang\tools\extra\clang-tidy\readability\CMakeFiles\obj.clangTidyReadabilityModule.dir\IdentifierLengthCheck.cpp.obj
[4113/4859] Building CXX object tools\clang\lib\StaticAnalyzer\Checkers\CMakeFiles\obj.clangStaticAnalyzerCheckers.dir\WebKit\ForwardDeclChecker.cpp.obj
[4114/4859] Building CXX object tools\clang\tools\extra\modularize\CMakeFiles\modularize.dir\ModularizeUtilities.cpp.obj
FAILED: tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.obj 
C:\bin\ccache.exe C:\PROGRA~2\MICROS~1\2019\BUILDT~1\VC\Tools\MSVC\1429~1.301\bin\HostX64\x64\cl.exe  /nologo /TP -DCLANG_BUILD_STATIC -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\clang\tools\extra\modularize -IZ:\b\llvm-clang-x86_64-sie-win\llvm-project\clang-tools-extra\modularize -IZ:\b\llvm-clang-x86_64-sie-win\llvm-project\clang\include -Itools\clang\include -Iinclude -IZ:\b\llvm-clang-x86_64-sie-win\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Oi /bigobj /permissive- /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -wd4251 -wd4275 -w14062 -we4238 /Gw /O2 /Ob2  -MD  /EHs-c- /GR- -UNDEBUG -std:c++17 /showIncludes /Fotools\clang\tools\extra\modularize\CMakeFiles\modularize.dir\ModularizeUtilities.cpp.obj /Fdtools\clang\tools\extra\modularize\CMakeFiles\modularize.dir\ /FS -c Z:\b\llvm-clang-x86_64-sie-win\llvm-project\clang-tools-extra\modularize\ModularizeUtilities.cpp
Z:\b\llvm-clang-x86_64-sie-win\llvm-project\clang-tools-extra\modularize\ModularizeUtilities.cpp(293): error C2039: 'parseModuleMapFile': is not a member of 'clang::ModuleMap'
Z:\b\llvm-clang-x86_64-sie-win\llvm-project\clang\include\clang/Lex/ModuleMap.h(74): note: see declaration of 'clang::ModuleMap'
[4115/4859] Building CXX object tools\clang\tools\extra\clang-tidy\readability\CMakeFiles\obj.clangTidyReadabilityModule.dir\ImplicitBoolConversionCheck.cpp.obj
[4116/4859] Linking CXX executable bin\clang-import-test.exe
[4117/4859] Building CXX object tools\clang\tools\clang-diff\CMakeFiles\clang-diff.dir\ClangDiff.cpp.obj
[4118/4859] Building CXX object tools\clang\tools\clang-extdef-mapping\CMakeFiles\clang-extdef-mapping.dir\ClangExtDefMapGen.cpp.obj
[4119/4859] Building CXX object tools\clang\tools\clang-check\CMakeFiles\clang-check.dir\ClangCheck.cpp.obj
[4120/4859] Linking CXX executable bin\clang-reorder-fields.exe
[4121/4859] Building CXX object tools\clang\tools\extra\clang-apply-replacements\CMakeFiles\obj.clangApplyReplacements.dir\lib\Tooling\ApplyReplacements.cpp.obj
[4122/4859] Building CXX object tools\clang\tools\clang-installapi\CMakeFiles\clang-installapi.dir\ClangInstallAPI.cpp.obj
[4123/4859] Building CXX object tools\clang\tools\extra\clang-tidy\cppcoreguidelines\CMakeFiles\obj.clangTidyCppCoreGuidelinesModule.dir\InitVariablesCheck.cpp.obj
[4124/4859] Building CXX object tools\clang\tools\extra\clang-tidy\cppcoreguidelines\CMakeFiles\obj.clangTidyCppCoreGuidelinesModule.dir\MacroUsageCheck.cpp.obj
[4125/4859] Building CXX object tools\clang\tools\extra\clang-tidy\CMakeFiles\obj.clangTidy.dir\ExpandModularHeadersPPCallbacks.cpp.obj
[4126/4859] Building CXX object tools\clang\tools\extra\clang-tidy\bugprone\CMakeFiles\obj.clangTidyBugproneModule.dir\BadSignalToKillThreadCheck.cpp.obj
[4127/4859] Building CXX object tools\clang\tools\extra\clang-apply-replacements\tool\CMakeFiles\clang-apply-replacements.dir\ClangApplyReplacementsMain.cpp.obj
[4128/4859] Building CXX object tools\clang\tools\extra\clang-tidy\bugprone\CMakeFiles\obj.clangTidyBugproneModule.dir\UnsafeFunctionsCheck.cpp.obj
[4129/4859] Building CXX object tools\clang\tools\extra\clang-tidy\concurrency\CMakeFiles\obj.clangTidyConcurrencyModule.dir\ThreadCanceltypeAsynchronousCheck.cpp.obj
[4130/4859] Building CXX object tools\clang\tools\clang-repl\CMakeFiles\clang-repl.dir\ClangRepl.cpp.obj
[4131/4859] Building CXX object tools\clang\lib\StaticAnalyzer\Checkers\CMakeFiles\obj.clangStaticAnalyzerCheckers.dir\WebKit\RetainPtrCtorAdoptChecker.cpp.obj
[4132/4859] Building CXX object tools\clang\tools\extra\clang-tidy\readability\CMakeFiles\obj.clangTidyReadabilityModule.dir\AvoidUnconditionalPreprocessorIfCheck.cpp.obj
[4133/4859] Building CXX object tools\clang\tools\extra\clang-tidy\cppcoreguidelines\CMakeFiles\obj.clangTidyCppCoreGuidelinesModule.dir\ProTypeVarargCheck.cpp.obj
[4134/4859] Building CXX object tools\clang\tools\extra\clang-tidy\cert\CMakeFiles\obj.clangTidyCERTModule.dir\SetLongJmpCheck.cpp.obj
[4135/4859] Building CXX object tools\clang\tools\extra\clang-tidy\modernize\CMakeFiles\obj.clangTidyModernizeModule.dir\ReplaceAutoPtrCheck.cpp.obj
[4136/4859] Building CXX object tools\clang\tools\extra\clang-tidy\altera\CMakeFiles\obj.clangTidyAlteraModule.dir\KernelNameRestrictionCheck.cpp.obj
[4137/4859] Building CXX object tools\clang\tools\extra\clang-tidy\bugprone\CMakeFiles\obj.clangTidyBugproneModule.dir\LambdaFunctionNameCheck.cpp.obj
[4138/4859] Building CXX object tools\clang\tools\c-index-test\CMakeFiles\c-index-test.dir\core_main.cpp.obj
[4139/4859] Building CXX object tools\clang\tools\extra\clang-tidy\abseil\CMakeFiles\obj.clangTidyAbseilModule.dir\StringFindStartswithCheck.cpp.obj
[4140/4859] Building CXX object tools\clang\tools\extra\clang-tidy\google\CMakeFiles\obj.clangTidyGoogleModule.dir\TodoCommentCheck.cpp.obj
[4141/4859] Building CXX object tools\clang\tools\extra\clang-tidy\google\CMakeFiles\obj.clangTidyGoogleModule.dir\UpgradeGoogletestCaseCheck.cpp.obj
[4142/4859] Building CXX object tools\clang\tools\extra\clang-tidy\bugprone\CMakeFiles\obj.clangTidyBugproneModule.dir\MacroParenthesesCheck.cpp.obj
[4143/4859] Building CXX object tools\clang\tools\extra\clang-tidy\misc\CMakeFiles\obj.clangTidyMiscModule.dir\MiscTidyModule.cpp.obj
[4144/4859] Building CXX object tools\clang\tools\extra\clang-tidy\bugprone\CMakeFiles\obj.clangTidyBugproneModule.dir\SuspiciousIncludeCheck.cpp.obj
[4145/4859] Building CXX object tools\clang\tools\extra\clang-tidy\google\CMakeFiles\obj.clangTidyGoogleModule.dir\AvoidUnderscoreInGoogletestNameCheck.cpp.obj
[4146/4859] Building CXX object tools\clang\tools\extra\modularize\CMakeFiles\modularize.dir\CoverageChecker.cpp.obj
[4147/4859] Building CXX object tools\clang\tools\extra\clang-tidy\bugprone\CMakeFiles\obj.clangTidyBugproneModule.dir\NotNullTerminatedResultCheck.cpp.obj
[4148/4859] Building CXX object tools\clang\tools\clang-scan-deps\CMakeFiles\clang-scan-deps.dir\ClangScanDeps.cpp.obj
[4149/4859] Building CXX object tools\clang\tools\extra\clang-tidy\misc\CMakeFiles\obj.clangTidyMiscModule.dir\ConfusableIdentifierCheck.cpp.obj

```

</details>
author_association: NONE
user: login: kazutakahirata
created_at: 2025-03-25T19:42:36Z
body: @Bigcheese I've landed aacc4e9a38ad93482e6c19a53eefec8406ee1b40 to fix the build.  Thanks!
author_association: CONTRIBUTOR
user: login: llvm-ci
created_at: 2025-03-25T19:42:56Z
body: LLVM Buildbot has detected a new failure on builder `llvm-clang-aarch64-darwin` running on `doug-worker-5` while building `clang-tools-extra,clang` at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/190/builds/17095

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 5 (build-unified-tree) failure: build (failure)
...
380.648 [1607/8/4421] Building CXX object tools/clang/tools/clang-repl/CMakeFiles/clang-repl.dir/ClangRepl.cpp.o
381.180 [1606/8/4422] Building CXX object tools/clang/tools/extra/clang-apply-replacements/tool/CMakeFiles/clang-apply-replacements.dir/ClangApplyReplacementsMain.cpp.o
381.197 [1605/8/4423] Linking CXX static library lib/libclangTidyMain.a
381.213 [1604/8/4424] Building CXX object tools/clang/tools/extra/clang-tidy/tool/CMakeFiles/clang-tidy.dir/ClangTidyToolMain.cpp.o
381.228 [1603/8/4425] Linking CXX static library lib/libclangChangeNamespace.a
381.557 [1602/8/4426] Building CXX object tools/clang/tools/clang-scan-deps/CMakeFiles/clang-scan-deps.dir/ClangScanDeps.cpp.o
381.571 [1601/8/4427] Linking CXX static library lib/libclangDoc.a
383.504 [1600/8/4428] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/PreprocessorTracker.cpp.o
383.529 [1599/8/4429] Linking CXX static library lib/libclangIncludeFixer.a
383.754 [1598/8/4430] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o
FAILED: tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /opt/homebrew/bin/ccache /usr/bin/clang++ -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -D_DEBUG -D_GLIBCXX_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/Users/buildbot/buildbot-root/aarch64-darwin/build/tools/clang/tools/extra/modularize -I/Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/clang-tools-extra/modularize -I/Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/clang/include -I/Users/buildbot/buildbot-root/aarch64-darwin/build/tools/clang/include -I/Users/buildbot/buildbot-root/aarch64-darwin/build/include -I/Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/llvm/include -isystem /opt/homebrew/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.4.sdk  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o -MF tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o.d -o tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o -c /Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/clang-tools-extra/modularize/ModularizeUtilities.cpp
/Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/clang-tools-extra/modularize/ModularizeUtilities.cpp:293:15: error: no member named 'parseModuleMapFile' in 'clang::ModuleMap'; did you mean 'loadModuleMapFile'?
  if (ModMap->parseModuleMapFile(ModuleMapEntry, false, Dir)) {
              ^~~~~~~~~~~~~~~~~~
              loadModuleMapFile
/Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/clang/include/clang/Lex/ModuleMap.h:716:8: note: 'loadModuleMapFile' declared here
  bool loadModuleMapFile(FileEntryRef File, bool IsSystem,
       ^
1 error generated.
383.947 [1598/7/4431] Building CXX object tools/clang/tools/extra/clang-reorder-fields/tool/CMakeFiles/clang-reorder-fields.dir/ClangReorderFields.cpp.o
384.588 [1598/6/4432] Building CXX object tools/clang/tools/extra/clang-tidy/plugin/CMakeFiles/obj.clangTidyPlugin.dir/ClangTidyPlugin.cpp.o
385.325 [1598/5/4433] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/CoverageChecker.cpp.o
385.947 [1598/4/4434] Building CXX object tools/clang/tools/extra/clang-change-namespace/tool/CMakeFiles/clang-change-namespace.dir/ClangChangeNamespace.cpp.o
386.871 [1598/3/4435] Building CXX object tools/clang/tools/extra/clang-doc/tool/CMakeFiles/clang-doc.dir/ClangDocMain.cpp.o
386.979 [1598/2/4436] Building CXX object tools/clang/tools/extra/clang-include-fixer/plugin/CMakeFiles/obj.clangIncludeFixerPlugin.dir/IncludeFixerPlugin.cpp.o
387.345 [1598/1/4437] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/Modularize.cpp.o
ninja: build stopped: subcommand failed.

```

</details>
author_association: NONE
user: login: llvm-ci
created_at: 2025-03-25T19:44:49Z
body: LLVM Buildbot has detected a new failure on builder `clang-armv8-quick` running on `linaro-clang-armv8-quick` while building `clang-tools-extra,clang` at step 4 "build stage 1".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/154/builds/13948

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 4 (build stage 1) failure: 'ninja' (failure)
...
[378/700] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/IncrementalParser.cpp.o
[379/700] Building CXX object tools/clang/tools/clang-import-test/CMakeFiles/clang-import-test.dir/clang-import-test.cpp.o
[380/700] Building CXX object tools/clang/tools/clang-diff/CMakeFiles/clang-diff.dir/ClangDiff.cpp.o
[381/700] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/InterpreterValuePrinter.cpp.o
[382/700] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/BadSignalToKillThreadCheck.cpp.o
[383/700] Building CXX object tools/clang/tools/extra/clang-apply-replacements/CMakeFiles/obj.clangApplyReplacements.dir/lib/Tooling/ApplyReplacements.cpp.o
[384/700] Building CXX object tools/clang/tools/extra/clang-tidy/altera/CMakeFiles/obj.clangTidyAlteraModule.dir/KernelNameRestrictionCheck.cpp.o
[385/700] Building CXX object tools/clang/tools/clang-installapi/CMakeFiles/clang-installapi.dir/ClangInstallAPI.cpp.o
[386/700] Building CXX object tools/clang/tools/clang-refactor/CMakeFiles/clang-refactor.dir/ClangRefactor.cpp.o
[387/700] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o
FAILED: tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o 
/usr/local/bin/c++ -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -D_DEBUG -D_FILE_OFFSET_BITS=64 -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/clang-armv8-quick/stage1/tools/clang/tools/extra/modularize -I/home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang-tools-extra/modularize -I/home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/include -I/home/tcwg-buildbot/worker/clang-armv8-quick/stage1/tools/clang/include -I/home/tcwg-buildbot/worker/clang-armv8-quick/stage1/include -I/home/tcwg-buildbot/worker/clang-armv8-quick/llvm/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o -MF tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o.d -o tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o -c /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang-tools-extra/modularize/ModularizeUtilities.cpp
../llvm/clang-tools-extra/modularize/ModularizeUtilities.cpp:293:15: error: no member named 'parseModuleMapFile' in 'clang::ModuleMap'; did you mean 'loadModuleMapFile'?
  293 |   if (ModMap->parseModuleMapFile(ModuleMapEntry, false, Dir)) {
      |               ^~~~~~~~~~~~~~~~~~
      |               loadModuleMapFile
../llvm/clang/include/clang/Lex/ModuleMap.h:716:8: note: 'loadModuleMapFile' declared here
  716 |   bool loadModuleMapFile(FileEntryRef File, bool IsSystem,
      |        ^
1 error generated.
[388/700] Building CXX object tools/clang/tools/extra/clang-reorder-fields/CMakeFiles/obj.clangReorderFields.dir/ReorderFieldsAction.cpp.o
[389/700] Building CXX object tools/clang/tools/c-index-test/CMakeFiles/c-index-test.dir/core_main.cpp.o
[390/700] Building CXX object tools/clang/tools/extra/clang-tidy/CMakeFiles/obj.clangTidy.dir/ExpandModularHeadersPPCallbacks.cpp.o
[391/700] Building CXX object tools/clang/tools/extra/clang-tidy/abseil/CMakeFiles/obj.clangTidyAbseilModule.dir/StringFindStartswithCheck.cpp.o
[392/700] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/SuspiciousIncludeCheck.cpp.o
[393/700] Building CXX object tools/clang/tools/clang-repl/CMakeFiles/clang-repl.dir/ClangRepl.cpp.o
[394/700] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/MacroRepeatedSideEffectsCheck.cpp.o
[395/700] Building CXX object tools/clang/tools/extra/clang-tidy/llvmlibc/CMakeFiles/obj.clangTidyLLVMLibcModule.dir/RestrictSystemLibcHeadersCheck.cpp.o
[396/700] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/CoverageChecker.cpp.o
[397/700] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/ForwardDeclChecker.cpp.o
[398/700] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/UnsafeFunctionsCheck.cpp.o
[399/700] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/MacroParenthesesCheck.cpp.o
[400/700] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/LambdaFunctionNameCheck.cpp.o
[401/700] Building CXX object tools/clang/tools/extra/clang-tidy/google/CMakeFiles/obj.clangTidyGoogleModule.dir/TodoCommentCheck.cpp.o
[402/700] Building CXX object tools/clang/tools/extra/clang-tidy/concurrency/CMakeFiles/obj.clangTidyConcurrencyModule.dir/ThreadCanceltypeAsynchronousCheck.cpp.o
[403/700] Building CXX object tools/clang/tools/clang-scan-deps/CMakeFiles/clang-scan-deps.dir/ClangScanDeps.cpp.o
[404/700] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/MacroUsageCheck.cpp.o
[405/700] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/InitVariablesCheck.cpp.o
[406/700] Building CXX object tools/clang/tools/extra/clang-tidy/llvm/CMakeFiles/obj.clangTidyLLVMModule.dir/HeaderGuardCheck.cpp.o
[407/700] Building CXX object tools/clang/tools/extra/clang-tidy/google/CMakeFiles/obj.clangTidyGoogleModule.dir/AvoidUnderscoreInGoogletestNameCheck.cpp.o
[408/700] Linking CXX executable bin/clang-diff
[409/700] Building CXX object tools/clang/tools/extra/clang-tidy/CMakeFiles/obj.clangTidy.dir/ClangTidy.cpp.o
[410/700] Building CXX object tools/clang/tools/extra/clang-tidy/llvm/CMakeFiles/obj.clangTidyLLVMModule.dir/IncludeOrderCheck.cpp.o
[411/700] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/ProBoundsConstantArrayIndexCheck.cpp.o
[412/700] Building CXX object tools/clang/tools/extra/clang-tidy/google/CMakeFiles/obj.clangTidyGoogleModule.dir/UpgradeGoogletestCaseCheck.cpp.o
[413/700] Building CXX object tools/clang/tools/extra/clang-tidy/misc/CMakeFiles/obj.clangTidyMiscModule.dir/HeaderIncludeCycleCheck.cpp.o
[414/700] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/RetainPtrCtorAdoptChecker.cpp.o
[415/700] Building CXX object tools/clang/tools/extra/clang-tidy/modernize/CMakeFiles/obj.clangTidyModernizeModule.dir/MacroToEnumCheck.cpp.o
[416/700] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/ProTypeVarargCheck.cpp.o

```

</details>
author_association: NONE
user: login: llvm-ci
created_at: 2025-03-25T21:33:36Z
body: LLVM Buildbot has detected a new failure on builder `premerge-monolithic-linux` running on `premerge-linux-1` while building `clang-tools-extra,clang` at step 6 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/153/builds/26902

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 6 (build-unified-tree) failure: build (failure)
...
105.451 [3981/58/419] Linking CXX executable bin/clang-diff
105.582 [3980/58/420] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/UninitializedObject/UninitializedObjectChecker.cpp.o
105.767 [3979/58/421] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/StreamChecker.cpp.o
106.494 [3978/58/422] Building CXX object tools/clang/tools/extra/clang-include-fixer/CMakeFiles/obj.clangIncludeFixer.dir/IncludeFixer.cpp.o
106.673 [3977/58/423] Building CXX object tools/clang/tools/clang-import-test/CMakeFiles/clang-import-test.dir/clang-import-test.cpp.o
106.758 [3976/58/424] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/IncrementalParser.cpp.o
106.799 [3975/58/425] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/CodeCompletion.cpp.o
107.236 [3974/58/426] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/MemoryUnsafeCastChecker.cpp.o
107.364 [3973/58/427] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/InterpreterValuePrinter.cpp.o
107.383 [3972/58/428] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o
FAILED: tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/clang++ -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/build/buildbot/premerge-monolithic-linux/build/tools/clang/tools/extra/modularize -I/build/buildbot/premerge-monolithic-linux/llvm-project/clang-tools-extra/modularize -I/build/buildbot/premerge-monolithic-linux/llvm-project/clang/include -I/build/buildbot/premerge-monolithic-linux/build/tools/clang/include -I/build/buildbot/premerge-monolithic-linux/build/include -I/build/buildbot/premerge-monolithic-linux/llvm-project/llvm/include -gmlt -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o -MF tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o.d -o tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o -c /build/buildbot/premerge-monolithic-linux/llvm-project/clang-tools-extra/modularize/ModularizeUtilities.cpp
/build/buildbot/premerge-monolithic-linux/llvm-project/clang-tools-extra/modularize/ModularizeUtilities.cpp:293:15: error: no member named 'parseModuleMapFile' in 'clang::ModuleMap'; did you mean 'loadModuleMapFile'?
  if (ModMap->parseModuleMapFile(ModuleMapEntry, false, Dir)) {
              ^~~~~~~~~~~~~~~~~~
              loadModuleMapFile
/build/buildbot/premerge-monolithic-linux/llvm-project/clang/include/clang/Lex/ModuleMap.h:716:8: note: 'loadModuleMapFile' declared here
  bool loadModuleMapFile(FileEntryRef File, bool IsSystem,
       ^
1 error generated.
107.416 [3972/57/429] Building CXX object tools/clang/tools/clang-extdef-mapping/CMakeFiles/clang-extdef-mapping.dir/ClangExtDefMapGen.cpp.o
108.006 [3972/56/430] Building CXX object tools/clang/tools/extra/clang-apply-replacements/tool/CMakeFiles/clang-apply-replacements.dir/ClangApplyReplacementsMain.cpp.o
108.357 [3972/55/431] Linking CXX executable bin/clang-import-test
108.419 [3972/54/432] Building CXX object tools/clang/tools/extra/clang-reorder-fields/tool/CMakeFiles/clang-reorder-fields.dir/ClangReorderFields.cpp.o
109.428 [3972/53/433] Building CXX object tools/clang/tools/c-index-test/CMakeFiles/c-index-test.dir/core_main.cpp.o
109.679 [3972/52/434] Building CXX object tools/clang/tools/clang-refactor/CMakeFiles/clang-refactor.dir/ClangRefactor.cpp.o
110.486 [3972/51/435] Building CXX object tools/clang/tools/extra/clang-apply-replacements/CMakeFiles/obj.clangApplyReplacements.dir/lib/Tooling/ApplyReplacements.cpp.o
110.565 [3972/50/436] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/StdLibraryFunctionsChecker.cpp.o
111.162 [3972/49/437] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/BadSignalToKillThreadCheck.cpp.o
111.970 [3972/48/438] Building CXX object tools/clang/tools/clang-installapi/CMakeFiles/clang-installapi.dir/ClangInstallAPI.cpp.o
112.121 [3972/47/439] Building CXX object tools/clang/tools/extra/clang-include-fixer/find-all-symbols/CMakeFiles/obj.findAllSymbols.dir/FindAllSymbolsAction.cpp.o
112.143 [3972/46/440] Building CXX object tools/clang/tools/extra/clang-tidy/altera/CMakeFiles/obj.clangTidyAlteraModule.dir/KernelNameRestrictionCheck.cpp.o
112.287 [3972/45/441] Building CXX object tools/clang/tools/extra/clang-tidy/concurrency/CMakeFiles/obj.clangTidyConcurrencyModule.dir/ThreadCanceltypeAsynchronousCheck.cpp.o
112.310 [3972/44/442] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/CoverageChecker.cpp.o
112.487 [3972/43/443] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/MacroParenthesesCheck.cpp.o
112.695 [3972/42/444] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/LambdaFunctionNameCheck.cpp.o
112.713 [3972/41/445] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/SuspiciousIncludeCheck.cpp.o
112.991 [3972/40/446] Building CXX object tools/clang/tools/extra/clang-tidy/cert/CMakeFiles/obj.clangTidyCERTModule.dir/SetLongJmpCheck.cpp.o
113.289 [3972/39/447] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/UnsafeFunctionsCheck.cpp.o
113.483 [3972/38/448] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/InitVariablesCheck.cpp.o
113.518 [3972/37/449] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/Interpreter.cpp.o
113.769 [3972/36/450] Building CXX object tools/clang/tools/extra/clang-tidy/bugprone/CMakeFiles/obj.clangTidyBugproneModule.dir/MacroRepeatedSideEffectsCheck.cpp.o
114.141 [3972/35/451] Building CXX object tools/clang/tools/extra/clang-tidy/llvmlibc/CMakeFiles/obj.clangTidyLLVMLibcModule.dir/RestrictSystemLibcHeadersCheck.cpp.o
114.480 [3972/34/452] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/MacroUsageCheck.cpp.o
114.563 [3972/33/453] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/ProBoundsConstantArrayIndexCheck.cpp.o
114.662 [3972/32/454] Building CXX object tools/clang/tools/extra/clang-tidy/abseil/CMakeFiles/obj.clangTidyAbseilModule.dir/StringFindStartswithCheck.cpp.o
114.836 [3972/31/455] Building CXX object tools/clang/tools/extra/clang-tidy/cppcoreguidelines/CMakeFiles/obj.clangTidyCppCoreGuidelinesModule.dir/ProTypeVarargCheck.cpp.o
115.102 [3972/30/456] Building CXX object tools/clang/tools/clang-repl/CMakeFiles/clang-repl.dir/ClangRepl.cpp.o
115.113 [3972/29/457] Building CXX object tools/clang/tools/extra/clang-tidy/google/CMakeFiles/obj.clangTidyGoogleModule.dir/TodoCommentCheck.cpp.o

```

</details>
author_association: NONE
user: login: llvm-ci
created_at: 2025-03-25T22:22:21Z
body: LLVM Buildbot has detected a new failure on builder `clang-x86_64-debian-fast` running on `gribozavr4` while building `clang-tools-extra,clang` at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/56/builds/21867

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 5 (build-unified-tree) failure: build (failure)
...
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp:20:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/Frontend/FrontendActions.h:12:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/Frontend/FrontendAction.h:23:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/Frontend/ASTUnit.h:28:
/b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/Sema/CodeCompleteConsumer.h:338:31: warning: '@class' command should not be used in a comment attached to a non-class declaration [-Wdocumentation]
    /// Code completion in a @class forward declaration.
                             ~^~~~~~~~~~~~~~~~~~~~~~~~~~
8 warnings generated.
116.954 [695/96/5405] Building CXX object tools/clang/tools/extra/clang-include-fixer/find-all-symbols/CMakeFiles/obj.findAllSymbols.dir/HeaderMapCollector.cpp.o
117.674 [694/96/5406] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o
FAILED: tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/clang++ -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/1/clang-x86_64-debian-fast/llvm.obj/tools/clang/tools/extra/modularize -I/b/1/clang-x86_64-debian-fast/llvm.src/clang-tools-extra/modularize -I/b/1/clang-x86_64-debian-fast/llvm.src/clang/include -I/b/1/clang-x86_64-debian-fast/llvm.obj/tools/clang/include -I/b/1/clang-x86_64-debian-fast/llvm.obj/include -I/b/1/clang-x86_64-debian-fast/llvm.src/llvm/include -std=c++11 -Wdocumentation -Wno-documentation-deprecated-sync -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o -MF tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o.d -o tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o -c /b/1/clang-x86_64-debian-fast/llvm.src/clang-tools-extra/modularize/ModularizeUtilities.cpp
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang-tools-extra/modularize/ModularizeUtilities.cpp:17:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/Frontend/CompilerInstance.h:16:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/Frontend/CompilerInvocation.h:23:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:17:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/Analysis/PathDiagnostic.h:16:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/AST/Stmt.h:16:
/b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/AST/APValue.h:391:14: warning: parameter 'UninitArray' not found in the function declaration [-Wdocumentation]
  /// \param UninitArray Marker. Pass an empty UninitArray.
             ^~~~~~~~~~~
/b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/AST/APValue.h:400:14: warning: parameter 'UninitStruct' not found in the function declaration [-Wdocumentation]
  /// \param UninitStruct Marker. Pass an empty UninitStruct.
             ^~~~~~~~~~~~
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang-tools-extra/modularize/ModularizeUtilities.cpp:17:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/Frontend/CompilerInstance.h:16:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/Frontend/CompilerInvocation.h:23:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h:17:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/Analysis/PathDiagnostic.h:17:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/Analysis/AnalysisDeclContext.h:22:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/Analysis/CFG.h:17:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/AST/Attr.h:18:
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/AST/Decl.h:22:
/b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/AST/ExternalASTSource.h:165:39: warning: empty paragraph passed to '\param' command [-Wdocumentation]
  /// specializations for the \param D.
                              ~~~~~~~~^
/b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/AST/ExternalASTSource.h:165:38: warning: parameter 'D.' not found in the function declaration [-Wdocumentation]
  /// specializations for the \param D.
                                     ^~
/b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/AST/ExternalASTSource.h:171:44: warning: empty paragraph passed to '\param' command [-Wdocumentation]
  /// args specified by \param TemplateArgs.
                        ~~~~~~~~~~~~~~~~~~~^
/b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/AST/ExternalASTSource.h:171:32: warning: parameter 'TemplateArgs.' not found in the function declaration [-Wdocumentation]
  /// args specified by \param TemplateArgs.
                               ^~~~~~~~~~~~~
/b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/AST/ExternalASTSource.h:171:32: note: did you mean 'TemplateArgs'?
  /// args specified by \param TemplateArgs.
                               ^~~~~~~~~~~~~
                               TemplateArgs

```

</details>
author_association: NONE
user: login: llvm-ci
created_at: 2025-03-25T22:32:09Z
body: LLVM Buildbot has detected a new failure on builder `llvm-x86_64-debian-dylib` running on `gribozavr4` while building `clang-tools-extra,clang` at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/60/builds/23044

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 5 (build-unified-tree) failure: build (failure)
...
119.961 [2024/96/5119] Building CXX object tools/clang/tools/extra/clang-tidy/readability/CMakeFiles/obj.clangTidyReadabilityModule.dir/RedundantDeclarationCheck.cpp.o
119.991 [2023/96/5120] Building CXX object tools/clang/tools/extra/clang-tidy/readability/CMakeFiles/obj.clangTidyReadabilityModule.dir/RedundantMemberInitCheck.cpp.o
120.029 [2022/96/5121] Building CXX object tools/clang/tools/extra/clang-tidy/readability/CMakeFiles/obj.clangTidyReadabilityModule.dir/RedundantSmartptrGetCheck.cpp.o
120.091 [2021/96/5122] Building CXX object tools/clang/tools/extra/clang-tidy/readability/CMakeFiles/obj.clangTidyReadabilityModule.dir/RedundantStringCStrCheck.cpp.o
120.109 [2020/96/5123] Building CXX object tools/clang/tools/extra/clang-tidy/readability/CMakeFiles/obj.clangTidyReadabilityModule.dir/RedundantStringInitCheck.cpp.o
120.159 [2019/96/5124] Building CXX object tools/clang/tools/extra/clang-tidy/readability/CMakeFiles/obj.clangTidyReadabilityModule.dir/ReferenceToConstructedTemporaryCheck.cpp.o
120.189 [2018/96/5125] Building CXX object tools/clang/tools/extra/clang-tidy/readability/CMakeFiles/obj.clangTidyReadabilityModule.dir/SimplifyBooleanExprCheck.cpp.o
120.239 [2017/96/5126] Building CXX object tools/clang/tools/extra/clang-tidy/readability/CMakeFiles/obj.clangTidyReadabilityModule.dir/StaticAccessedThroughInstanceCheck.cpp.o
120.267 [2016/96/5127] Building CXX object tools/clang/tools/extra/clang-tidy/readability/CMakeFiles/obj.clangTidyReadabilityModule.dir/SimplifySubscriptExprCheck.cpp.o
120.314 [2015/96/5128] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o
FAILED: tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/1/llvm-x86_64-debian-dylib/build/tools/clang/tools/extra/modularize -I/b/1/llvm-x86_64-debian-dylib/llvm-project/clang-tools-extra/modularize -I/b/1/llvm-x86_64-debian-dylib/llvm-project/clang/include -I/b/1/llvm-x86_64-debian-dylib/build/tools/clang/include -I/b/1/llvm-x86_64-debian-dylib/build/include -I/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o -MF tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o.d -o tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/ModularizeUtilities.cpp.o -c /b/1/llvm-x86_64-debian-dylib/llvm-project/clang-tools-extra/modularize/ModularizeUtilities.cpp
/b/1/llvm-x86_64-debian-dylib/llvm-project/clang-tools-extra/modularize/ModularizeUtilities.cpp:293:15: error: no member named 'parseModuleMapFile' in 'clang::ModuleMap'; did you mean 'loadModuleMapFile'?
  if (ModMap->parseModuleMapFile(ModuleMapEntry, false, Dir)) {
              ^~~~~~~~~~~~~~~~~~
              loadModuleMapFile
/b/1/llvm-x86_64-debian-dylib/llvm-project/clang/include/clang/Lex/ModuleMap.h:716:8: note: 'loadModuleMapFile' declared here
  bool loadModuleMapFile(FileEntryRef File, bool IsSystem,
       ^
1 error generated.
120.315 [2015/95/5129] Building CXX object tools/clang/tools/extra/clang-tidy/readability/CMakeFiles/obj.clangTidyReadabilityModule.dir/StaticDefinitionInAnonymousNamespaceCheck.cpp.o
120.340 [2015/94/5130] Building CXX object tools/clang/tools/extra/clang-tidy/readability/CMakeFiles/obj.clangTidyReadabilityModule.dir/StringCompareCheck.cpp.o
122.065 [2015/93/5131] Building CXX object tools/clang/lib/Analysis/plugins/SampleAnalyzer/CMakeFiles/SampleAnalyzerPlugin.dir/MainCallChecker.cpp.o
122.510 [2015/92/5132] Building CXX object tools/clang/lib/StaticAnalyzer/Frontend/CMakeFiles/obj.clangStaticAnalyzerFrontend.dir/FrontendActions.cpp.o
123.278 [2015/91/5133] Building CXX object tools/clang/lib/Analysis/plugins/CheckerDependencyHandling/CMakeFiles/CheckerDependencyHandlingAnalyzerPlugin.dir/CheckerDependencyHandling.cpp.o
123.353 [2015/90/5134] Building CXX object tools/clang/lib/Analysis/plugins/CheckerOptionHandling/CMakeFiles/CheckerOptionHandlingAnalyzerPlugin.dir/CheckerOptionHandling.cpp.o
123.874 [2015/89/5135] Building CXX object tools/clang/tools/clang-fuzzer/handle-cxx/CMakeFiles/obj.clangHandleCXX.dir/handle_cxx.cpp.o
124.994 [2015/88/5136] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/RefCntblBaseVirtualDtorChecker.cpp.o
125.692 [2015/87/5137] Building CXX object tools/clang/tools/clang-diff/CMakeFiles/clang-diff.dir/ClangDiff.cpp.o
126.004 [2015/86/5138] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/RawPtrRefLocalVarsChecker.cpp.o
126.340 [2015/85/5139] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/RawPtrRefMemberChecker.cpp.o
126.804 [2015/84/5140] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/RawPtrRefLambdaCapturesChecker.cpp.o
127.577 [2015/83/5141] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/RawPtrRefCallArgsChecker.cpp.o
128.070 [2015/82/5142] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/UninitializedObject/UninitializedObjectChecker.cpp.o
129.296 [2015/81/5143] Building CXX object tools/clang/tools/extra/clang-include-fixer/tool/CMakeFiles/clang-include-fixer.dir/ClangIncludeFixer.cpp.o
129.339 [2015/80/5144] Building CXX object tools/clang/tools/clang-check/CMakeFiles/clang-check.dir/ClangCheck.cpp.o
129.346 [2015/79/5145] Building CXX object tools/clang/lib/StaticAnalyzer/Frontend/CMakeFiles/obj.clangStaticAnalyzerFrontend.dir/ModelInjector.cpp.o
129.520 [2015/78/5146] Building CXX object tools/clang/tools/extra/clang-include-fixer/find-all-symbols/CMakeFiles/obj.findAllSymbols.dir/PragmaCommentHandler.cpp.o
129.524 [2015/77/5147] Building CXX object tools/clang/tools/clang-extdef-mapping/CMakeFiles/clang-extdef-mapping.dir/ClangExtDefMapGen.cpp.o
129.835 [2015/76/5148] Building CXX object tools/clang/lib/StaticAnalyzer/Frontend/CMakeFiles/obj.clangStaticAnalyzerFrontend.dir/AnalyzerHelpFlags.cpp.o
129.921 [2015/75/5149] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/StreamChecker.cpp.o
130.339 [2015/74/5150] Building CXX object tools/clang/tools/extra/clang-reorder-fields/tool/CMakeFiles/clang-reorder-fields.dir/ClangReorderFields.cpp.o
130.685 [2015/73/5151] Building CXX object tools/clang/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/AnnotateHighlightings.cpp.o
130.692 [2015/72/5152] Building CXX object tools/clang/lib/Serialization/CMakeFiles/obj.clangSerialization.dir/ASTWriter.cpp.o
131.552 [2015/71/5153] Building CXX object tools/clang/tools/extra/clang-tidy/google/CMakeFiles/obj.clangTidyGoogleModule.dir/AvoidUnderscoreInGoogletestNameCheck.cpp.o
131.635 [2015/70/5154] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/WebKit/MemoryUnsafeCastChecker.cpp.o
131.759 [2015/69/5155] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/CodeCompletion.cpp.o
131.772 [2015/68/5156] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/IncrementalParser.cpp.o
132.644 [2015/67/5157] Building CXX object tools/clang/tools/extra/clang-include-fixer/CMakeFiles/obj.clangIncludeFixer.dir/IncludeFixer.cpp.o

```

</details>
author_association: NONE