comparison gen/tollvm.cpp @ 116:fd7ad91fd713 trunk

[svn r120] ModuleInfo implementation is now almost complete. Fixed some nasty static array-initializer bugs. Fixed bug in DtoArrayLen and DtoArrayPtr for full slices of static arrays.
author lindquist
date Sun, 25 Nov 2007 18:55:52 +0100
parents 5880c12dba83
children 9c79b61fb638
comparison
equal deleted inserted replaced
115:5ba6d286c941 116:fd7ad91fd713
1615 DtoDefineDsymbol(dsym); 1615 DtoDefineDsymbol(dsym);
1616 } 1616 }
1617 } 1617 }
1618 1618
1619 ////////////////////////////////////////////////////////////////////////////////////////// 1619 //////////////////////////////////////////////////////////////////////////////////////////
1620 void DtoEmptyAllLists()
1621 {
1622 for(;;)
1623 {
1624 Dsymbol* dsym;
1625 if (!gIR->resolveList.empty()) {
1626 dsym = gIR->resolveList.front();
1627 gIR->resolveList.pop_front();
1628 DtoResolveDsymbol(dsym);
1629 }
1630 else if (!gIR->declareList.empty()) {
1631 dsym = gIR->declareList.front();
1632 gIR->declareList.pop_front();
1633 DtoDeclareDsymbol(dsym);
1634 }
1635 else if (!gIR->constInitList.empty()) {
1636 dsym = gIR->constInitList.front();
1637 gIR->constInitList.pop_front();
1638 DtoConstInitDsymbol(dsym);
1639 }
1640 else if (!gIR->defineList.empty()) {
1641 dsym = gIR->defineList.front();
1642 gIR->defineList.pop_front();
1643 DtoDefineDsymbol(dsym);
1644 }
1645 else {
1646 break;
1647 }
1648 }
1649 }
1650
1651 //////////////////////////////////////////////////////////////////////////////////////////
1620 1652
1621 void DtoForceDeclareDsymbol(Dsymbol* dsym) 1653 void DtoForceDeclareDsymbol(Dsymbol* dsym)
1622 { 1654 {
1623 if (dsym->llvmDeclared) return; 1655 if (dsym->llvmDeclared) return;
1624 Logger::println("DtoForceDeclareDsymbol(%s)", dsym->toChars()); 1656 Logger::println("DtoForceDeclareDsymbol(%s)", dsym->toChars());