Changeset 1527:f19adff18813
- Timestamp:
- 07/09/09 07:36:08
(3 years ago)
- Author:
- Robert Clipsham <robert@octarineparrot.com>
- branch:
- default
- Message:
A couple of ldc2 tweaks now druntime compiles.
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| Revision 1524:b265fb6ce15b |
Revision 1527:f19adff18813 |
| 316 | global.params.linkswitches->push(arg); | 316 | global.params.linkswitches->push(arg); |
|---|
| 317 | } | 317 | } |
|---|
| 318 | } | 318 | } |
|---|
| 319 | else if (!noDefaultLib) | 319 | else if (!noDefaultLib) |
|---|
| 320 | { | 320 | { |
|---|
| 321 | #if !DMDV2 |
321 |
#if DMDV2 |
|---|
| | |
322 |
global.params.linkswitches->push(mem.strdup("-ldruntime-ldc")); |
|---|
| | |
323 |
#else |
|---|
| 322 | global.params.linkswitches->push(mem.strdup("-lldc-runtime")); | 324 | global.params.linkswitches->push(mem.strdup("-lldc-runtime")); |
|---|
| 323 | global.params.linkswitches->push(mem.strdup("-ltango-cc-tango")); | 325 | global.params.linkswitches->push(mem.strdup("-ltango-cc-tango")); |
|---|
| 324 | global.params.linkswitches->push(mem.strdup("-ltango-gc-basic")); | 326 | global.params.linkswitches->push(mem.strdup("-ltango-gc-basic")); |
|---|
| 325 | // pass the runtime again to resolve issues | 327 | // pass the runtime again to resolve issues |
|---|
| 326 | // with linking order | 328 | // with linking order |
|---|
| Revision 1524:b265fb6ce15b |
Revision 1527:f19adff18813 |
| 334 | llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname2, M); | 334 | llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname2, M); |
|---|
| 335 | } | 335 | } |
|---|
| 336 | | 336 | |
|---|
| 337 | // Object _d_allocclass(ClassInfo ci) | 337 | // Object _d_allocclass(ClassInfo ci) |
|---|
| 338 | { | 338 | { |
|---|
| 339 | #if DMDV2 | | |
|---|
| 340 | std::string fname("_d_newclass"); | | |
|---|
| 341 | #else | | |
|---|
| 342 | std::string fname("_d_allocclass"); | 339 | std::string fname("_d_allocclass"); |
|---|
| 343 | #endif | | |
|---|
| 344 | std::vector<const LLType*> types; | 340 | std::vector<const LLType*> types; |
|---|
| 345 | types.push_back(classInfoTy); | 341 | types.push_back(classInfoTy); |
|---|
| 346 | const llvm::FunctionType* fty = llvm::FunctionType::get(voidPtrTy, types, false); | 342 | const llvm::FunctionType* fty = llvm::FunctionType::get(voidPtrTy, types, false); |
|---|
| 347 | llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M) | 343 | llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M) |
|---|
| 348 | ->setAttributes(Attr_NoAlias); | 344 | ->setAttributes(Attr_NoAlias); |
|---|