[clang] [clang-tools-extra] [clang] improve class type sugar preservation in pointers to members (PR #130537)

Matheus Izvekov via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 10 09:18:35 PDT 2025


================
@@ -5172,8 +5179,28 @@ QualType::DestructionKind QualType::isDestructedTypeImpl(QualType type) {
   return DK_none;
 }
 
+bool MemberPointerType::isSugared() const {
+  CXXRecordDecl *D1 = getMostRecentCXXRecordDecl(),
+                *D2 = getQualifier()->getAsRecordDecl();
+  return D1 != D2 && D1->getCanonicalDecl() != D2->getCanonicalDecl();
----------------
mizvekov wrote:

It's by the way the reason we don't use declaresSameEntity here, as one very annoying thing that function does is to return false even if both are null.

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


More information about the cfe-commits mailing list