# HG changeset patch # User Robert Clipsham # Date 1246920842 -3600 # Node ID 833337c65fd37dc374af8a5c189e786f1f9c86ac # Parent 8a5570ddad25ef006e5d14cc65aacb6143e74d95 Fixed some unmerged parts of the D2 frontend. Removed the automatic linker flags for D2 (temp). Renamed a runtime function for D2. diff -r 8a5570ddad25 -r 833337c65fd3 dmd2/expression.c --- a/dmd2/expression.c Mon Jun 22 19:31:25 2009 +0200 +++ b/dmd2/expression.c Mon Jul 06 23:54:02 2009 +0100 @@ -8746,8 +8746,11 @@ typeCombine(sc); e1->checkIntegral(); e2 = e2->checkIntegral(); - //e2 = e2->castTo(sc, Type::tshiftcnt); - e2 = e2->castTo(sc, e1->type); // LDC +#if IN_DMD + e2 = e2->castTo(sc, Type::tshiftcnt); +#elif IN_LLVM + e2 = e2->castTo(sc, e1->type); +#endif return this; } @@ -8775,8 +8778,11 @@ typeCombine(sc); e1->checkIntegral(); e2 = e2->checkIntegral(); - //e2 = e2->castTo(sc, Type::tshiftcnt); - e2 = e2->castTo(sc, e1->type); // LDC +#if IN_DMD + e2 = e2->castTo(sc, Type::tshiftcnt); +#elif IN_LLVM + e2 = e2->castTo(sc, e1->type); +#endif return this; } @@ -9343,7 +9349,8 @@ e1 = e1->checkIntegral(); e2 = e2->checkIntegral(); e1 = e1->integralPromotions(sc); - e2 = e2->castTo(sc, Type::tshiftcnt); + //e2 = e2->castTo(sc, Type::tshiftcnt); + e2 = e2->castTo(sc, e1->type); // LDC type = e1->type; } return this; @@ -9367,7 +9374,8 @@ e1 = e1->checkIntegral(); e2 = e2->checkIntegral(); e1 = e1->integralPromotions(sc); - e2 = e2->castTo(sc, Type::tshiftcnt); + //e2 = e2->castTo(sc, Type::tshiftcnt); + e2 = e2->castTo(sc, e1->type); // LDC type = e1->type; } return this; diff -r 8a5570ddad25 -r 833337c65fd3 gen/main.cpp --- a/gen/main.cpp Mon Jun 22 19:31:25 2009 +0200 +++ b/gen/main.cpp Mon Jul 06 23:54:02 2009 +0100 @@ -311,12 +311,14 @@ } else if (!noDefaultLib) { +#if !DMDV2 global.params.linkswitches->push(mem.strdup("-lldc-runtime")); global.params.linkswitches->push(mem.strdup("-ltango-cc-tango")); global.params.linkswitches->push(mem.strdup("-ltango-gc-basic")); // pass the runtime again to resolve issues // with linking order global.params.linkswitches->push(mem.strdup("-lldc-runtime")); +#endif } if (global.params.run) diff -r 8a5570ddad25 -r 833337c65fd3 gen/runtime.cpp --- a/gen/runtime.cpp Mon Jun 22 19:31:25 2009 +0200 +++ b/gen/runtime.cpp Mon Jul 06 23:54:02 2009 +0100 @@ -328,7 +328,11 @@ // Object _d_allocclass(ClassInfo ci) { +#if DMDV2 + std::string fname("_d_newclass"); +#else std::string fname("_d_allocclass"); +#endif std::vector types; types.push_back(classInfoTy); const llvm::FunctionType* fty = llvm::FunctionType::get(voidPtrTy, types, false);