On Jan 26, 2009, at 11:31 AM, Sebastian Redl wrote: > Douglas Gregor wrote: >> >> On Jan 25, 2009, at 11:43 AM, Sebastian Redl wrote: >> >>> Author: cornedbee >>> Date: Sun Jan 25 13:43:20 2009 >>> New Revision: 62971 >>> >>> URL: http://llvm.org/viewvc/llvm-project?rev=62971&view=rev >>> Log: >>> Implement implicit conversions for pointers-to-member. >> >> Great! >> >>> +/// CheckMemberPointerConversion - Check the member pointer >>> conversion from the >>> +/// expression From to the type ToType. This routine checks for >>> ambiguous or >>> +/// virtual (FIXME: or inaccessible) base-to-derived member pointer >>> conversions >>> +/// for which IsMemberPointerConversion has already returned true. >>> It returns >>> +/// true and produces a diagnostic if there was an error, or >>> returns >>> false >>> +/// otherwise. >>> +bool Sema::CheckMemberPointerConversion(Expr *From, QualType >>> ToType) { >>> + QualType FromType = From->getType(); >>> + >>> + if (const MemberPointerType *FromPtrType = >>> + FromType->getAsMemberPointerType()) { >>> + if (const MemberPointerType *ToPtrType = >>> + ToType->getAsMemberPointerType()) { >> >> Why not just assert(FromType->isMemberPointerType() && >> ToType->isMemberPointerType())? We shouldn't be in here if we don't >> already know that this is a pointer-to-member conversion. > 1) Because you don't in CheckPointerConversion. > 2) Actually From may be a null pointer constant.
Argh! Good point. - Doug _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
