comparison ir/irstruct.h @ 252:e3355ce5444b trunk

[svn r269] Fixed dwarf debug info for structs.
author lindquist
date Thu, 12 Jun 2008 16:58:26 +0200
parents a95056b3c996
children 7ade5e035beb
comparison
equal deleted inserted replaced
251:2f2d7c843e5d 252:e3355ce5444b
10 { 10 {
11 BaseClass* base; 11 BaseClass* base;
12 ClassDeclaration* decl; 12 ClassDeclaration* decl;
13 13
14 #if OPAQUE_VTBLS 14 #if OPAQUE_VTBLS
15 const llvm::ArrayType* vtblTy; 15 const LLArrayType* vtblTy;
16 llvm::ConstantArray* vtblInit; 16 LLConstantArray* vtblInit;
17 #else 17 #else
18 const llvm::StructType* vtblTy; 18 const LLStructType* vtblTy;
19 llvm::ConstantStruct* vtblInit; 19 LLConstantStruct* vtblInit;
20 #endif 20 #endif
21 llvm::GlobalVariable* vtbl; 21 LLGlobalVariable* vtbl;
22 22
23 const llvm::StructType* infoTy; 23 const LLStructType* infoTy;
24 llvm::ConstantStruct* infoInit; 24 LLConstantStruct* infoInit;
25 llvm::Constant* info; 25 LLConstant* info;
26 26
27 int index; 27 int index;
28 28
29 #if OPAQUE_VTBLS 29 #if OPAQUE_VTBLS
30 IrInterface(BaseClass* b, const llvm::ArrayType* vt); 30 IrInterface(BaseClass* b, const LLArrayType* vt);
31 #else 31 #else
32 IrInterface(BaseClass* b, const llvm::StructType* vt); 32 IrInterface(BaseClass* b, const LLStructType* vt);
33 #endif 33 #endif
34 ~IrInterface(); 34 ~IrInterface();
35 }; 35 };
36 36
37 ////////////////////////////////////////////////////////////////////////////// 37 //////////////////////////////////////////////////////////////////////////////
43 { 43 {
44 struct Offset 44 struct Offset
45 { 45 {
46 VarDeclaration* var; 46 VarDeclaration* var;
47 const LLType* type; 47 const LLType* type;
48 llvm::Constant* init; 48 LLConstant* init;
49 49
50 Offset(VarDeclaration* v, const LLType* ty) 50 Offset(VarDeclaration* v, const LLType* ty)
51 : var(v), type(ty), init(NULL) {} 51 : var(v), type(ty), init(NULL) {}
52 }; 52 };
53 53
68 VarDeclVector defaultFields; 68 VarDeclVector defaultFields;
69 69
70 InterfaceMap interfaceMap; 70 InterfaceMap interfaceMap;
71 InterfaceVector interfaceVec; 71 InterfaceVector interfaceVec;
72 const llvm::ArrayType* interfaceInfosTy; 72 const llvm::ArrayType* interfaceInfosTy;
73 llvm::GlobalVariable* interfaceInfos; 73 LLGlobalVariable* interfaceInfos;
74 74
75 bool defined; 75 bool defined;
76 bool constinited; 76 bool constinited;
77 77
78 llvm::GlobalVariable* vtbl; 78 LLGlobalVariable* vtbl;
79 #if OPAQUE_VTBLS 79 #if OPAQUE_VTBLS
80 llvm::Constant* constVtbl; 80 LLConstant* constVtbl;
81 #else 81 #else
82 llvm::ConstantStruct* constVtbl; 82 LLConstantStruct* constVtbl;
83 #endif 83 #endif
84 llvm::GlobalVariable* init; 84 LLGlobalVariable* init;
85 llvm::Constant* constInit; 85 LLConstant* constInit;
86 llvm::GlobalVariable* classInfo; 86 LLGlobalVariable* classInfo;
87 llvm::Constant* constClassInfo; 87 LLConstant* constClassInfo;
88 bool hasUnions; 88 bool hasUnions;
89 DUnion* dunion; 89 DUnion* dunion;
90 bool classDeclared; 90 bool classDeclared;
91 bool classDefined; 91 bool classDefined;
92
93 LLGlobalVariable* dwarfComposite;
92 }; 94 };
93 95
94 #endif 96 #endif