aboutsummaryrefslogtreecommitdiff
path: root/CodeGen/CodeGenTypes.h
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2007-11-07 01:57:13 +0000
committerDevang Patel <dpatel@apple.com>2007-11-07 01:57:13 +0000
commit159e3300f938ae05c0bf249508714e621cc89de5 (patch)
treea6040bba3079293e65fb12682aee739f5ad977c3 /CodeGen/CodeGenTypes.h
parentb15132fda52046ba65eafd6f4b448f7aa16b7e8d (diff)
Start struct bit field laout work.
This is far from complete. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43801 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'CodeGen/CodeGenTypes.h')
-rw-r--r--CodeGen/CodeGenTypes.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/CodeGen/CodeGenTypes.h b/CodeGen/CodeGenTypes.h
index 6712b8e0a6..68dcd21b42 100644
--- a/CodeGen/CodeGenTypes.h
+++ b/CodeGen/CodeGenTypes.h
@@ -76,6 +76,17 @@ class CodeGenTypes {
/// field no. This info is populated by record organizer.
llvm::DenseMap<const FieldDecl *, unsigned> FieldInfo;
+ class BitFieldInfo {
+ public:
+ explicit BitFieldInfo(unsigned N, unsigned B, unsigned E)
+ : No(N), Begin(B), End(E) {}
+ private:
+ unsigned No;
+ unsigned Begin;
+ unsigned End;
+ };
+ llvm::DenseMap<const FieldDecl *, BitFieldInfo> BitFields;
+
/// RecordTypesToResolve - This keeps track of record types that are not
/// yet incomplete. One llvm::OpaqueType is associated with each incomplete
/// record.
@@ -113,7 +124,8 @@ public:
unsigned getLLVMFieldNo(const FieldDecl *FD);
/// addFieldInfo - Assign field number to field FD.
- void addFieldInfo(const FieldDecl *FD, unsigned No);
+ void addFieldInfo(const FieldDecl *FD, unsigned No, unsigned Begin,
+ unsigned End);
};
} // end namespace CodeGen