comparison gen/tollvm.cpp @ 103:855adfdb8d38 trunk

[svn r107] Getting .classinfo on a class instance now works (classinfo is stored in vtable)
author lindquist
date Sun, 18 Nov 2007 08:25:07 +0100
parents 027b8d8b71ec
children 4d1e9eb001e0
comparison
equal deleted inserted replaced
102:027b8d8b71ec 103:855adfdb8d38
109 { 109 {
110 return (*i)->recty.get(); 110 return (*i)->recty.get();
111 } 111 }
112 } 112 }
113 } 113 }
114 114 }
115 // forward declaration 115
116 TypeStruct* ts = (TypeStruct*)t; 116 TypeStruct* ts = (TypeStruct*)t;
117 assert(ts->sym); 117 assert(ts->sym);
118 DtoResolveDsymbol(ts->sym); 118 DtoResolveDsymbol(ts->sym);
119 }
120 return t->llvmType->get(); 119 return t->llvmType->get();
121 } 120 }
122 121
123 case Tclass: { 122 case Tclass: {
124 if (!t->llvmType || *t->llvmType == NULL) { 123 if (!t->llvmType || *t->llvmType == NULL) {
132 { 131 {
133 return llvm::PointerType::get((*i)->recty.get()); 132 return llvm::PointerType::get((*i)->recty.get());
134 } 133 }
135 } 134 }
136 } 135 }
137 136 }
138 // forward declaration 137
139 TypeClass* tc = (TypeClass*)t; 138 TypeClass* tc = (TypeClass*)t;
140 assert(tc->sym); 139 assert(tc->sym);
141 DtoResolveDsymbol(tc->sym); 140 DtoResolveDsymbol(tc->sym);
142 }
143 return llvm::PointerType::get(t->llvmType->get()); 141 return llvm::PointerType::get(t->llvmType->get());
144 } 142 }
145 143
146 // functions 144 // functions
147 case Tfunction: 145 case Tfunction: