comparison dmd2/inline.c @ 1452:638d16625da2

LDC 2 compiles again.
author Robert Clipsham <robert@octarineparrot.com>
date Sat, 30 May 2009 17:23:32 +0100
parents 356e65836fb5
children f62347c22d81
comparison
equal deleted inserted replaced
1423:42bd767ec5a4 1452:638d16625da2
549 VarDeclaration *vto; 549 VarDeclaration *vto;
550 550
551 vto = new VarDeclaration(vd->loc, vd->type, vd->ident, vd->init); 551 vto = new VarDeclaration(vd->loc, vd->type, vd->ident, vd->init);
552 *vto = *vd; 552 *vto = *vd;
553 vto->parent = ids->parent; 553 vto->parent = ids->parent;
554 #if IN_DMD
554 vto->csym = NULL; 555 vto->csym = NULL;
555 vto->isym = NULL; 556 vto->isym = NULL;
557 #endif
556 558
557 ids->from.push(vd); 559 ids->from.push(vd);
558 ids->to.push(vto); 560 ids->to.push(vto);
559 561
560 if (vd->init) 562 if (vd->init)
643 VarDeclaration *vto; 645 VarDeclaration *vto;
644 646
645 vto = new VarDeclaration(vd->loc, vd->type, vd->ident, vd->init); 647 vto = new VarDeclaration(vd->loc, vd->type, vd->ident, vd->init);
646 *vto = *vd; 648 *vto = *vd;
647 vto->parent = ids->parent; 649 vto->parent = ids->parent;
650 #if IN_DMD
648 vto->csym = NULL; 651 vto->csym = NULL;
649 vto->isym = NULL; 652 vto->isym = NULL;
653 #endif
650 654
651 ids->from.push(vd); 655 ids->from.push(vd);
652 ids->to.push(vto); 656 ids->to.push(vto);
653 657
654 if (vd->init) 658 if (vd->init)
680 VarDeclaration *vto; 684 VarDeclaration *vto;
681 685
682 vto = new VarDeclaration(vd->loc, vd->type, vd->ident, vd->init); 686 vto = new VarDeclaration(vd->loc, vd->type, vd->ident, vd->init);
683 *vto = *vd; 687 *vto = *vd;
684 vto->parent = ids->parent; 688 vto->parent = ids->parent;
689 #if IN_DMD
685 vto->csym = NULL; 690 vto->csym = NULL;
686 vto->isym = NULL; 691 vto->isym = NULL;
692 #endif
687 693
688 ids->from.push(vd); 694 ids->from.push(vd);
689 ids->to.push(vto); 695 ids->to.push(vto);
690 696
691 if (vd->init) 697 if (vd->init)
1229 #endif 1235 #endif
1230 1236
1231 if (needThis() && !hasthis) 1237 if (needThis() && !hasthis)
1232 return 0; 1238 return 0;
1233 1239
1234 if (inlineNest || (!semanticRun && !hdrscan)) 1240 if (inlineNest || (semanticRun < 3 && !hdrscan))
1235 { 1241 {
1236 #if CANINLINE_LOG 1242 #if CANINLINE_LOG
1237 printf("\t1: no, inlineNest = %d, semanticRun = %d\n", inlineNest, semanticRun); 1243 printf("\t1: no, inlineNest = %d, semanticRun = %d\n", inlineNest, semanticRun);
1238 #endif 1244 #endif
1239 return 0; 1245 return 0;