Refactored code gen for ivar access in preparation for
objc2 nonfragile ivar access code gen.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63541 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGObjCRuntime.h b/lib/CodeGen/CGObjCRuntime.h
index 01543c5..ded1db2 100644
--- a/lib/CodeGen/CGObjCRuntime.h
+++ b/lib/CodeGen/CGObjCRuntime.h
@@ -47,6 +47,7 @@
class ObjCMethodDecl;
class ObjCProtocolDecl;
class Selector;
+ class ObjCIvarDecl;
namespace CodeGen {
class CodeGenModule;
@@ -155,6 +156,12 @@
llvm::Value *src, llvm::Value *dest) = 0;
virtual void EmitObjCStrongCastAssign(CodeGen::CodeGenFunction &CGF,
llvm::Value *src, llvm::Value *dest) = 0;
+
+ virtual llvm::Value *EmitObjCValueForIvar(CodeGen::CodeGenFunction &CGF,
+ llvm::Value *BaseValue,
+ const ObjCIvarDecl *Ivar,
+ const FieldDecl *Field,
+ unsigned CVRQualifiers) = 0;
};
/// Creates an instance of an Objective-C runtime class.