Mercurial > projects > ddmd
comparison dmd/Type.d @ 191:52188e7e3fb5
Fixed deprecated features, now compiles with DMD2.058
Also changed Array allocation policy:
Now doesn't reallocate but malloc's, followed by a memcpy (no free).
(this fixes a crash while compiling druntime. Same bug in dmd)
author | korDen@korDen-pc |
---|---|
date | Sun, 25 Mar 2012 03:11:12 +0400 |
parents | b0d41ff5e0df |
children |
comparison
equal
deleted
inserted
replaced
190:80660782bffe | 191:52188e7e3fb5 |
---|---|
1460 case X(MOD.MODshared | MOD.MODwild, MOD.MODwild): | 1460 case X(MOD.MODshared | MOD.MODwild, MOD.MODwild): |
1461 wto = t; | 1461 wto = t; |
1462 L7: | 1462 L7: |
1463 t.swto = this; | 1463 t.swto = this; |
1464 break; | 1464 break; |
1465 | |
1466 default: | |
1467 assert(false); | |
1465 } | 1468 } |
1466 | 1469 |
1467 check(); | 1470 check(); |
1468 t.check(); | 1471 t.check(); |
1469 //printf("fixTo: %s, %s\n", toChars(), t.toChars()); | 1472 //printf("fixTo: %s, %s\n", toChars(), t.toChars()); |
1536 if (sto) assert(sto.mod == MOD.MODshared); | 1539 if (sto) assert(sto.mod == MOD.MODshared); |
1537 if (scto) assert(scto.mod == (MOD.MODshared | MOD.MODconst)); | 1540 if (scto) assert(scto.mod == (MOD.MODshared | MOD.MODconst)); |
1538 if (wto) assert(wto.mod == MOD.MODwild); | 1541 if (wto) assert(wto.mod == MOD.MODwild); |
1539 if (swto) assert(swto.mod == MOD.MODundefined); | 1542 if (swto) assert(swto.mod == MOD.MODundefined); |
1540 break; | 1543 break; |
1544 | |
1545 default: | |
1546 assert(false); | |
1541 } | 1547 } |
1542 | 1548 |
1543 Type tn = nextOf(); | 1549 Type tn = nextOf(); |
1544 if (tn && ty != TY.Tfunction && ty != TY.Tdelegate) | 1550 if (tn && ty != TY.Tfunction && ty != TY.Tdelegate) |
1545 { | 1551 { |
1570 break; | 1576 break; |
1571 | 1577 |
1572 case MOD.MODshared | MOD.MODwild: | 1578 case MOD.MODshared | MOD.MODwild: |
1573 assert(tn.mod == MOD.MODimmutable || tn.mod == (MOD.MODshared | MOD.MODconst) || tn.mod == (MOD.MODshared | MOD.MODwild)); | 1579 assert(tn.mod == MOD.MODimmutable || tn.mod == (MOD.MODshared | MOD.MODconst) || tn.mod == (MOD.MODshared | MOD.MODwild)); |
1574 break; | 1580 break; |
1581 | |
1582 default: | |
1583 assert(false); | |
1575 } | 1584 } |
1576 tn.check(); | 1585 tn.check(); |
1577 } | 1586 } |
1578 } | 1587 } |
1579 | 1588 |
1673 break; | 1682 break; |
1674 | 1683 |
1675 case MOD.MODshared | MOD.MODwild: | 1684 case MOD.MODshared | MOD.MODwild: |
1676 t = sharedWildOf(); | 1685 t = sharedWildOf(); |
1677 break; | 1686 break; |
1687 | |
1688 default: | |
1689 assert(false); | |
1678 } | 1690 } |
1679 } | 1691 } |
1680 return t; | 1692 return t; |
1681 } | 1693 } |
1682 | 1694 |