Mercurial > projects > ldc
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()); |