diff --git a/clang/lib/CIR/CodeGen/CIRGenClass.cpp b/clang/lib/CIR/CodeGen/CIRGenClass.cpp index 3539dd969970..a55d67dbe146 100644 --- a/clang/lib/CIR/CodeGen/CIRGenClass.cpp +++ b/clang/lib/CIR/CodeGen/CIRGenClass.cpp @@ -1480,6 +1480,8 @@ mlir::Value CIRGenFunction::getVTablePtr(SourceLocation Loc, Address This, Address CIRGenFunction::buildCXXMemberDataPointerAddress( const Expr *E, Address base, mlir::Value memberPtr, const MemberPointerType *memberPtrType, LValueBaseInfo *baseInfo) { + assert(!UnimplementedFeature::cxxABI()); + auto op = builder.createGetIndirectMember(getLoc(E->getSourceRange()), base.getPointer(), memberPtr); diff --git a/clang/lib/CIR/CodeGen/CIRGenExprConst.cpp b/clang/lib/CIR/CodeGen/CIRGenExprConst.cpp index d6c88e0cfb6e..cc64c2658ec4 100644 --- a/clang/lib/CIR/CodeGen/CIRGenExprConst.cpp +++ b/clang/lib/CIR/CodeGen/CIRGenExprConst.cpp @@ -1533,6 +1533,8 @@ mlir::Attribute ConstantEmitter::tryEmitPrivate(const APValue &Value, Elts, typedFiller); } case APValue::MemberPointer: { + assert(!UnimplementedFeature::cxxABI()); + const ValueDecl *memberDecl = Value.getMemberPointerDecl(); assert(!Value.isMemberPointerToDerivedMember() && "NYI"); @@ -1584,6 +1586,8 @@ mlir::Value CIRGenModule::buildNullConstant(QualType T, mlir::Location loc) { } mlir::Value CIRGenModule::buildMemberPointerConstant(const UnaryOperator *E) { + assert(!UnimplementedFeature::cxxABI()); + auto loc = getLoc(E->getSourceRange()); auto ty = getCIRType(E->getType()).cast();