Mercurial > projects > ldc
comparison gen/tocall.cpp @ 1554:d6e8d5db259f
LLVMContext changes up to r77366
author | Benjamin Kramer <benny.kra@gmail.com> |
---|---|
date | Thu, 30 Jul 2009 15:25:10 +0200 |
parents | 7fcb72d518f6 |
children | 755abafbf25d |
comparison
equal
deleted
inserted
replaced
1553:f55ca8a1598c | 1554:d6e8d5db259f |
---|---|
197 Expression* argexp = (Expression*)arguments->data[i]; | 197 Expression* argexp = (Expression*)arguments->data[i]; |
198 vtypeinfos.push_back(DtoTypeInfoOf(argexp->type)); | 198 vtypeinfos.push_back(DtoTypeInfoOf(argexp->type)); |
199 } | 199 } |
200 | 200 |
201 // apply initializer | 201 // apply initializer |
202 LLConstant* tiinits = llvm::ConstantArray::get(typeinfoarraytype, vtypeinfos); | 202 LLConstant* tiinits = LLConstantArray::get(typeinfoarraytype, vtypeinfos); |
203 typeinfomem->setInitializer(tiinits); | 203 typeinfomem->setInitializer(tiinits); |
204 | 204 |
205 // put data in d-array | 205 // put data in d-array |
206 std::vector<LLConstant*> pinits; | 206 std::vector<LLConstant*> pinits; |
207 pinits.push_back(DtoConstSize_t(vtype->getNumElements())); | 207 pinits.push_back(DtoConstSize_t(vtype->getNumElements())); |
208 pinits.push_back(llvm::ConstantExpr::getBitCast(typeinfomem, getPtrToType(typeinfotype))); | 208 pinits.push_back(llvm::ConstantExpr::getBitCast(typeinfomem, getPtrToType(typeinfotype))); |
209 const LLType* tiarrty = DtoType(Type::typeinfo->type->arrayOf()); | 209 const LLType* tiarrty = DtoType(Type::typeinfo->type->arrayOf()); |
210 tiinits = gIR->context().getConstantStruct(pinits); | 210 tiinits = LLConstantStruct::get(pinits); |
211 LLValue* typeinfoarrayparam = new llvm::GlobalVariable(*gIR->module, tiarrty, | 211 LLValue* typeinfoarrayparam = new llvm::GlobalVariable(*gIR->module, tiarrty, |
212 true, llvm::GlobalValue::InternalLinkage, tiinits, "._arguments.array"); | 212 true, llvm::GlobalValue::InternalLinkage, tiinits, "._arguments.array"); |
213 | 213 |
214 llvm::AttributeWithIndex Attr; | 214 llvm::AttributeWithIndex Attr; |
215 // specify arguments | 215 // specify arguments |