comparison gen/tollvm.cpp @ 1529:ad7f2f1862d6

Adjust LDC to work with the LLVMContext LLVM changes. This means we now require a fairly new LLVM revision. I use 75234.
author Christian Kamm <kamm incasoftware de>
date Fri, 10 Jul 2009 21:30:02 +0200
parents 855f188aab7a
children c88b16d4a13c
comparison
equal deleted inserted replaced
1528:15f1707721fa 1529:ad7f2f1862d6
583 LLConstant* DtoConstString(const char* str) 583 LLConstant* DtoConstString(const char* str)
584 { 584 {
585 std::string s(str?str:""); 585 std::string s(str?str:"");
586 LLConstant* init = llvm::ConstantArray::get(s, true); 586 LLConstant* init = llvm::ConstantArray::get(s, true);
587 llvm::GlobalVariable* gvar = new llvm::GlobalVariable( 587 llvm::GlobalVariable* gvar = new llvm::GlobalVariable(
588 init->getType(), true,llvm::GlobalValue::InternalLinkage, init, ".str", gIR->module); 588 *gIR->module, init->getType(), true,llvm::GlobalValue::InternalLinkage, init, ".str");
589 LLConstant* idxs[2] = { DtoConstUint(0), DtoConstUint(0) }; 589 LLConstant* idxs[2] = { DtoConstUint(0), DtoConstUint(0) };
590 return DtoConstSlice( 590 return DtoConstSlice(
591 DtoConstSize_t(s.length()), 591 DtoConstSize_t(s.length()),
592 llvm::ConstantExpr::getGetElementPtr(gvar,idxs,2) 592 llvm::ConstantExpr::getGetElementPtr(gvar,idxs,2)
593 ); 593 );
595 LLConstant* DtoConstStringPtr(const char* str, const char* section) 595 LLConstant* DtoConstStringPtr(const char* str, const char* section)
596 { 596 {
597 std::string s(str); 597 std::string s(str);
598 LLConstant* init = llvm::ConstantArray::get(s, true); 598 LLConstant* init = llvm::ConstantArray::get(s, true);
599 llvm::GlobalVariable* gvar = new llvm::GlobalVariable( 599 llvm::GlobalVariable* gvar = new llvm::GlobalVariable(
600 init->getType(), true,llvm::GlobalValue::InternalLinkage, init, ".str", gIR->module); 600 *gIR->module, init->getType(), true,llvm::GlobalValue::InternalLinkage, init, ".str");
601 if (section) gvar->setSection(section); 601 if (section) gvar->setSection(section);
602 LLConstant* idxs[2] = { DtoConstUint(0), DtoConstUint(0) }; 602 LLConstant* idxs[2] = { DtoConstUint(0), DtoConstUint(0) };
603 return llvm::ConstantExpr::getGetElementPtr(gvar,idxs,2); 603 return llvm::ConstantExpr::getGetElementPtr(gvar,idxs,2);
604 } 604 }
605 605