Begin struct layout work.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43236 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/CodeGen/CodeGenFunction.h b/CodeGen/CodeGenFunction.h
index 3e08461..c14687e 100644
--- a/CodeGen/CodeGenFunction.h
+++ b/CodeGen/CodeGenFunction.h
@@ -65,13 +65,15 @@
class ChooseExpr;
class PreDefinedExpr;
class ObjCStringLiteral;
-
+ class MemberExpr;
+
class BlockVarDecl;
class EnumConstantDecl;
class ParmVarDecl;
namespace CodeGen {
class CodeGenModule;
-
+ class CodeGenTypes;
+ class RecordLayoutInfo;
/// RValue - This trivial value class is used to represent the result of an
/// expression that is evaluated. It can be one of three things: either a
@@ -296,6 +298,8 @@
/// then reuse it.
void StartBlock(const char *N);
+ /// getRecordLayoutInfo - Return record layout info.
+ RecordLayoutInfo *getRecordLayoutInfo(CodeGenTypes &CGT, QualType RTy);
//===--------------------------------------------------------------------===//
// Declaration Emission
//===--------------------------------------------------------------------===//
@@ -370,6 +374,7 @@
LValue EmitUnaryOpLValue(const UnaryOperator *E);
LValue EmitArraySubscriptExpr(const ArraySubscriptExpr *E);
LValue EmitOCUVectorElementExpr(const OCUVectorElementExpr *E);
+ LValue EmitMemberExpr(const MemberExpr *E);
//===--------------------------------------------------------------------===//
// Scalar Expression Emission