[clang] [clang] Disambiguate GMF internal functions across partitions (PR #219238)

Chuanqi Xu via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 2 18:51:28 PDT 2026


================
@@ -2675,6 +2687,15 @@ StringRef CodeGenModule::getMangledName(GlobalDecl GD) {
   //        "LLVM demangler must demangle clang-generated names");
 
   auto Result = Manglings.insert(std::make_pair(MangledName, GD));
+  if (!Result.second &&
+      areDistinctInternalGlobalModuleEntities(GD, Result.first->second)) {
+    unsigned Discriminator = 1;
+    do {
+      std::string UniqueName =
+          (Twine(MangledName) + "." + Twine(Discriminator++)).str();
+      Result = Manglings.insert(std::make_pair(UniqueName, GD));
+    } while (!Result.second);
----------------
ChuanqiXu9 wrote:

This mangling is not consistent with what we discussed before. The module partition name is not involved.

https://github.com/llvm/llvm-project/pull/219238


More information about the cfe-commits mailing list