================ @@ -9015,11 +9015,20 @@ bool Sema::RequireCompleteTypeImpl(SourceLocation Loc, QualType T, if (const MemberPointerType *MPTy = T->getAs<MemberPointerType>()) { if (!MPTy->getClass()->isDependentType()) { - if (getLangOpts().CompleteMemberPointers && - !MPTy->getClass()->getAsCXXRecordDecl()->isBeingDefined() && - RequireCompleteType(Loc, QualType(MPTy->getClass(), 0), Kind, - diag::err_memptr_incomplete)) - return true; + if (getLangOpts().CompleteMemberPointers) { + const CXXRecordDecl *RD = MPTy->getClass()->getAsCXXRecordDecl(); + if (RD->isBeingDefined()) { + if (RD->isParsingBaseSpecifiers()) { ---------------- rnk wrote:
I'm struggling to understand why this error diagnostic doesn't fire in your MS ABI test case example that forms a member pointer type in the base specifier list. https://github.com/llvm/llvm-project/pull/91990 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits