mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-04-11 22:39:02 +02:00
Fixed some unmerged parts of the D2 frontend.
Removed the automatic linker flags for D2 (temp). Renamed a runtime function for D2.
This commit is contained in:
@@ -8746,8 +8746,11 @@ Expression *ShlAssignExp::semantic(Scope *sc)
|
||||
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 @@ Expression *ShrAssignExp::semantic(Scope *sc)
|
||||
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 @@ Expression *ShrExp::semantic(Scope *sc)
|
||||
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 @@ Expression *UshrExp::semantic(Scope *sc)
|
||||
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;
|
||||
|
||||
@@ -311,12 +311,14 @@ int main(int argc, char** argv)
|
||||
}
|
||||
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)
|
||||
|
||||
@@ -328,7 +328,11 @@ static void LLVM_D_BuildRuntimeModule()
|
||||
|
||||
// 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);
|
||||
|
||||
Reference in New Issue
Block a user