summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGObjCRuntime.h
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/CodeGen/CGObjCRuntime.h')
-rw-r--r--clang/lib/CodeGen/CGObjCRuntime.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/CGObjCRuntime.h b/clang/lib/CodeGen/CGObjCRuntime.h
index 28ee0f4e9f3..c275a4d7201 100644
--- a/clang/lib/CodeGen/CGObjCRuntime.h
+++ b/clang/lib/CodeGen/CGObjCRuntime.h
@@ -28,6 +28,7 @@ namespace llvm {
class Function;
class Module;
class StructLayout;
+ class StructType;
class Type;
class Value;
}
@@ -65,9 +66,14 @@ protected:
// eventually be folded into other places (the structure layout
// code).
- // Compute an offset to the given ivar, suitable for passing to
- // EmitValueForIvarAtOffset. Note that the correct handling of
- // bit-fields is carefully coordinated by these two, use caution!
+ /// Return the (fixed) LLVM struct type for the interface. This is
+ /// only very meaningful for runtimes which use a non-fragile ABI.
+ const llvm::StructType * GetConcreteClassStruct(CodeGen::CodeGenModule &CGM,
+ const ObjCInterfaceDecl *OID);
+
+ /// Compute an offset to the given ivar, suitable for passing to
+ /// EmitValueForIvarAtOffset. Note that the correct handling of
+ /// bit-fields is carefully coordinated by these two, use caution!
uint64_t ComputeIvarBaseOffset(CodeGen::CodeGenModule &CGM,
const ObjCInterfaceDecl *OID,
const ObjCIvarDecl *Ivar);
OpenPOWER on IntegriCloud