Mercurial > projects > ldc
comparison dmd2/expression.c @ 1523:833337c65fd3
Fixed some unmerged parts of the D2 frontend.
Removed the automatic linker flags for D2 (temp).
Renamed a runtime function for D2.
author | Robert Clipsham <robert@octarineparrot.com> |
---|---|
date | Mon, 06 Jul 2009 23:54:02 +0100 |
parents | dd72f56ad211 |
children | 54b3c1394d62 |
comparison
equal
deleted
inserted
replaced
1513:8a5570ddad25 | 1523:833337c65fd3 |
---|---|
8744 e1->checkNoBool(); | 8744 e1->checkNoBool(); |
8745 type = e1->type; | 8745 type = e1->type; |
8746 typeCombine(sc); | 8746 typeCombine(sc); |
8747 e1->checkIntegral(); | 8747 e1->checkIntegral(); |
8748 e2 = e2->checkIntegral(); | 8748 e2 = e2->checkIntegral(); |
8749 //e2 = e2->castTo(sc, Type::tshiftcnt); | 8749 #if IN_DMD |
8750 e2 = e2->castTo(sc, e1->type); // LDC | 8750 e2 = e2->castTo(sc, Type::tshiftcnt); |
8751 #elif IN_LLVM | |
8752 e2 = e2->castTo(sc, e1->type); | |
8753 #endif | |
8751 return this; | 8754 return this; |
8752 } | 8755 } |
8753 | 8756 |
8754 /************************************************************/ | 8757 /************************************************************/ |
8755 | 8758 |
8773 e1->checkNoBool(); | 8776 e1->checkNoBool(); |
8774 type = e1->type; | 8777 type = e1->type; |
8775 typeCombine(sc); | 8778 typeCombine(sc); |
8776 e1->checkIntegral(); | 8779 e1->checkIntegral(); |
8777 e2 = e2->checkIntegral(); | 8780 e2 = e2->checkIntegral(); |
8778 //e2 = e2->castTo(sc, Type::tshiftcnt); | 8781 #if IN_DMD |
8779 e2 = e2->castTo(sc, e1->type); // LDC | 8782 e2 = e2->castTo(sc, Type::tshiftcnt); |
8783 #elif IN_LLVM | |
8784 e2 = e2->castTo(sc, e1->type); | |
8785 #endif | |
8780 return this; | 8786 return this; |
8781 } | 8787 } |
8782 | 8788 |
8783 /************************************************************/ | 8789 /************************************************************/ |
8784 | 8790 |
9341 if (e) | 9347 if (e) |
9342 return e; | 9348 return e; |
9343 e1 = e1->checkIntegral(); | 9349 e1 = e1->checkIntegral(); |
9344 e2 = e2->checkIntegral(); | 9350 e2 = e2->checkIntegral(); |
9345 e1 = e1->integralPromotions(sc); | 9351 e1 = e1->integralPromotions(sc); |
9346 e2 = e2->castTo(sc, Type::tshiftcnt); | 9352 //e2 = e2->castTo(sc, Type::tshiftcnt); |
9353 e2 = e2->castTo(sc, e1->type); // LDC | |
9347 type = e1->type; | 9354 type = e1->type; |
9348 } | 9355 } |
9349 return this; | 9356 return this; |
9350 } | 9357 } |
9351 | 9358 |
9365 if (e) | 9372 if (e) |
9366 return e; | 9373 return e; |
9367 e1 = e1->checkIntegral(); | 9374 e1 = e1->checkIntegral(); |
9368 e2 = e2->checkIntegral(); | 9375 e2 = e2->checkIntegral(); |
9369 e1 = e1->integralPromotions(sc); | 9376 e1 = e1->integralPromotions(sc); |
9370 e2 = e2->castTo(sc, Type::tshiftcnt); | 9377 //e2 = e2->castTo(sc, Type::tshiftcnt); |
9378 e2 = e2->castTo(sc, e1->type); // LDC | |
9371 type = e1->type; | 9379 type = e1->type; |
9372 } | 9380 } |
9373 return this; | 9381 return this; |
9374 } | 9382 } |
9375 | 9383 |