diff options
Diffstat (limited to 'clang/lib/CodeGen/CGExpr.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGExpr.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp index 5c304d19a57..726755dc84c 100644 --- a/clang/lib/CodeGen/CGExpr.cpp +++ b/clang/lib/CodeGen/CGExpr.cpp @@ -1034,7 +1034,8 @@ LValue CodeGenFunction::EmitLValueForIvar(llvm::Value *BaseValue, return EmitLValueForBitfield(BaseValue, const_cast<FieldDecl *>(Field), CVRQualifiers, Index); } - llvm::Value *V = Builder.CreateStructGEP(BaseValue, Index, "tmp"); + llvm::Value *V = CGM.getObjCRuntime().EmitObjCValueForIvar(*this, + BaseValue, Ivar, Field, CVRQualifiers); LValue LV = LValue::MakeAddr(V, Ivar->getType().getCVRQualifiers()|CVRQualifiers); SetVarDeclObjCAttribute(getContext(), Ivar, Ivar->getType(), LV); LValue::SetObjCIvar(LV, true); |