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))