Mercurial > projects > ldc
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 |