[clang] [Clang][Sema] properly remove qualifiers in __is_pointer_interconvertible_base_of (PR #167881)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 17 06:28:32 PST 2025


================
@@ -15607,8 +15607,8 @@ bool Sema::IsLayoutCompatible(QualType T1, QualType T2) const {
 
 bool Sema::IsPointerInterconvertibleBaseOf(const TypeSourceInfo *Base,
                                            const TypeSourceInfo *Derived) {
-  QualType BaseT = Base->getType()->getCanonicalTypeUnqualified();
-  QualType DerivedT = Derived->getType()->getCanonicalTypeUnqualified();
+  QualType BaseT = Base->getType().getUnqualifiedType();
+  QualType DerivedT = Derived->getType().getUnqualifiedType();
----------------
erichkeane wrote:

Well, we  need references at least (since thats how reference folding needs to work/move semantics/etc).  So I would presume that cv qualifiers would be the same way.  So we'd need to maintain those.



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


More information about the cfe-commits mailing list