Changeset 1453:f35a9a77d256
- Timestamp:
- 06/01/09 13:58:21
(3 years ago)
- Author:
- Robert Clipsham <robert@octarineparrot.com>
- branch:
- default
- Message:
More tweaks.
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r1129 |
r1453 |
|
| 9 | 9 | *.s |
|---|
| 10 | 10 | *.so |
|---|
| | 11 | *.swp |
|---|
| 11 | 12 | *.rej |
|---|
| 12 | 13 | Makefile |
|---|
| r1396 |
r1453 |
|
| 71 | 71 | set(DMDFE_PATH dmd) |
|---|
| 72 | 72 | set(LDC_EXE ldc) |
|---|
| | 73 | set(LDMD_EXE ldmd) |
|---|
| 73 | 74 | add_definitions(-DDMDV1) |
|---|
| 74 | 75 | elseif(D_VERSION EQUAL 2) |
|---|
| 75 | 76 | set(DMDFE_PATH dmd2) |
|---|
| 76 | 77 | set(LDC_EXE ldc2) |
|---|
| | 78 | set(LDMD_EXE ldmd2) |
|---|
| 77 | 79 | add_definitions(-DDMDV2) |
|---|
| 78 | 80 | else(D_VERSION EQUAL 1) |
|---|
| … | … | |
| 231 | 233 | |
|---|
| 232 | 234 | install(TARGETS ${LDC_EXE} DESTINATION bin) |
|---|
| 233 | | install(FILES ${PROJECT_SOURCE_DIR}/bin/ldmd DESTINATION bin) |
|---|
| | 235 | install(FILES ${PROJECT_SOURCE_DIR}/bin/${LDMD_EXE} DESTINATION bin) |
|---|
| 234 | 236 | install(FILES ${PROJECT_BINARY_DIR}/bin/${LDC_EXE}.conf DESTINATION ${CONF_INST_DIR}) |
|---|
| 235 | 237 | install(FILES ${PROJECT_BINARY_DIR}/bin/${LDC_EXE}.rebuild.conf DESTINATION ${CONF_INST_DIR}) |
|---|
| r1391 |
r1453 |
|
| 673 | 673 | // void *destructor; |
|---|
| 674 | 674 | // void *invariant; // class invariant |
|---|
| | 675 | // version(D_Version2) |
|---|
| | 676 | // void *xgetMembers; |
|---|
| 675 | 677 | // uint flags; |
|---|
| 676 | 678 | // void *deallocator; |
|---|
| … | … | |
| 691 | 693 | ClassDeclaration* cinfo = ClassDeclaration::classinfo; |
|---|
| 692 | 694 | |
|---|
| | 695 | #if DMDV2 |
|---|
| | 696 | if (cinfo->fields.dim != 13) |
|---|
| | 697 | #else |
|---|
| 693 | 698 | if (cinfo->fields.dim != 12) |
|---|
| | 699 | #endif |
|---|
| 694 | 700 | { |
|---|
| 695 | 701 | error("object.d ClassInfo class is incorrect"); |
|---|
| r1386 |
r1453 |
|
| 621 | 621 | } |
|---|
| 622 | 622 | // check for patch |
|---|
| | 623 | #if DMDV2 |
|---|
| | 624 | else if (moduleinfo->fields.dim != 10) |
|---|
| | 625 | #else |
|---|
| 623 | 626 | else if (moduleinfo->fields.dim != 9) |
|---|
| | 627 | #endif |
|---|
| 624 | 628 | { |
|---|
| 625 | 629 | error("object.d ModuleInfo class is incorrect"); |
|---|
| r1452 |
r1453 |
|
| 179 | 179 | constVtbl = llvm::ConstantStruct::get(constants, false); |
|---|
| 180 | 180 | |
|---|
| 181 | | // sanity check |
|---|
| 182 | 181 | #if 0 |
|---|
| 183 | | IF_LOG Logger::cout() << "constVtbl type: " << *constVtbl->getType() << std::endl; |
|---|
| 184 | | IF_LOG Logger::cout() << "vtbl type: " << *type->irtype->isClass()->getVtbl() << std::endl; |
|---|
| | 182 | IF_LOG Logger::cout() << "constVtbl type: " << *constVtbl->getType() << std::endl; |
|---|
| | 183 | IF_LOG Logger::cout() << "vtbl type: " << *type->irtype->isClass()->getVtbl() << std::endl; |
|---|
| 185 | 184 | #endif |
|---|
| 186 | | |
|---|
| 187 | 185 | assert(constVtbl->getType() == type->irtype->isClass()->getVtbl() && |
|---|
| 188 | 186 | "vtbl initializer type mismatch"); |
|---|