Mercurial > projects > ldc
changeset 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 | 8a5570ddad25 |
children | b265fb6ce15b |
files | dmd2/expression.c gen/main.cpp gen/runtime.cpp |
diffstat | 3 files changed, 20 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- 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;
--- 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)
--- 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<const LLType*> types; types.push_back(classInfoTy); const llvm::FunctionType* fty = llvm::FunctionType::get(voidPtrTy, types, false);