LGTM
================ Comment at: lib/CodeGen/CGCXXABI.h:188-197 @@ -187,8 +187,12 @@ protected: /// A utility method for computing the offset required for the given /// base-to-derived or derived-to-base member-pointer conversion. /// Does not handle virtual conversions (in case we ever fully /// support an ABI that allows this). Returns null if no adjustment /// is required. llvm::Constant *getMemberPointerAdjustment(const CastExpr *E); + /// \brief Computes the non-virtual adjustment needed for a member pointer + /// conversion along an inheritance path stored in an APValue. + CharUnits getMemberPointerPathAdjustment(const APValue &MP); + ---------------- Somewhere in these comments we should call out the fact that the former doesn't negate the ThisAdjustment for a derived-to-base conversion, whereas the latter does. http://llvm-reviews.chandlerc.com/D741 BRANCH memptr-convert ARCANIST PROJECT clang _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
