Mercurial > projects > ldc
comparison gen/toobj.cpp @ 1464:93644700a0b3
Some minor changes to handling of variables referenced from nested functions in D2 .
Added generation of new 'void*[4] reserved;' !ModuleInfo member .
author | Tomas Lindquist Olsen <tomas.l.olsen gmail com> |
---|---|
date | Wed, 03 Jun 2009 03:04:47 +0200 |
parents | 7b218ec1044f |
children | 630fc54f7c1e |
comparison
equal
deleted
inserted
replaced
1463:a5526b7a5ae6 | 1464:93644700a0b3 |
---|---|
609 // void function() dtor; | 609 // void function() dtor; |
610 // void function() unitTest; | 610 // void function() unitTest; |
611 // | 611 // |
612 // void* xgetMembers; | 612 // void* xgetMembers; |
613 // void function() ictor; | 613 // void function() ictor; |
614 // | |
615 // void*[4] reserved; // useless to us | |
614 // } | 616 // } |
615 | 617 |
616 // resolve ModuleInfo | 618 // resolve ModuleInfo |
617 if (!moduleinfo) | 619 if (!moduleinfo) |
618 { | 620 { |
754 | 756 |
755 // ictor | 757 // ictor |
756 c = getNullValue(fnptrTy); | 758 c = getNullValue(fnptrTy); |
757 b.push(c); | 759 b.push(c); |
758 | 760 |
761 #if DMDV2 | |
762 | |
763 // void*[4] reserved :/ | |
764 const LLType* AT = llvm::ArrayType::get(getVoidPtrType(), 4); | |
765 c = getNullValue(AT); | |
766 b.push(c); | |
767 | |
768 #endif | |
769 | |
759 /*Logger::println("MODULE INFO INITIALIZERS"); | 770 /*Logger::println("MODULE INFO INITIALIZERS"); |
760 for (size_t i=0; i<initVec.size(); ++i) | 771 for (size_t i=0; i<initVec.size(); ++i) |
761 { | 772 { |
762 Logger::cout() << *initVec[i] << '\n'; | 773 Logger::cout() << *initVec[i] << '\n'; |
763 if (initVec[i]->getType() != moduleinfoTy->getElementType(i)) | 774 if (initVec[i]->getType() != moduleinfoTy->getElementType(i)) |