[Mlir-commits] [mlir] 66bafd4 - [MLIR] Improve TypeID anonymous namespace check to handle GCC's __PRETTY_FUNCTION__ format (#199634)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Wed May 27 00:08:04 PDT 2026


Author: Mieszko Dziadowiec
Date: 2026-05-27T07:07:58Z
New Revision: 66bafd43ff2beb1d727339361df7ad34ea30e97a

URL: https://github.com/llvm/llvm-project/commit/66bafd43ff2beb1d727339361df7ad34ea30e97a
DIFF: https://github.com/llvm/llvm-project/commit/66bafd43ff2beb1d727339361df7ad34ea30e97a.diff

LOG: [MLIR] Improve TypeID anonymous namespace check to handle GCC's __PRETTY_FUNCTION__ format (#199634)

The anonymous namespace detection in
`FallbackTypeIDResolver::registerImplicitTypeID` only checked for
Clang's `(anonymous namespace)` and MSVC's `anonymous-namespace`
formats. GCC produces `{anonymous}` in `__PRETTY_FUNCTION__`, silently
bypassing the check.

Added: 
    

Modified: 
    mlir/lib/Support/TypeID.cpp

Removed: 
    


################################################################################
diff  --git a/mlir/lib/Support/TypeID.cpp b/mlir/lib/Support/TypeID.cpp
index 3526a0d49cc79..2c6193e78743e 100644
--- a/mlir/lib/Support/TypeID.cpp
+++ b/mlir/lib/Support/TypeID.cpp
@@ -30,12 +30,14 @@ struct ImplicitTypeIDRegistry {
     // Perform a heuristic check to see if this type is in an anonymous
     // namespace. String equality is not valid for anonymous types, so we try to
     // abort whenever we see them.
+    // Check all known anonymous-namespace markers unconditionally:
+    //   Clang : "(anonymous namespace)"
+    //   GCC   : "{anonymous}"
+    //   MSVC  : "anonymous-namespace"
 #ifndef NDEBUG
-#if defined(_MSC_VER)
-    if (typeName.contains("anonymous-namespace")) {
-#else
-    if (typeName.contains("anonymous namespace")) {
-#endif
+    if (typeName.contains("anonymous namespace") ||
+        typeName.contains("{anonymous}") ||
+        typeName.contains("anonymous-namespace")) {
       std::string errorStr;
       {
         llvm::raw_string_ostream errorOS(errorStr);


        


More information about the Mlir-commits mailing list