Merge 2.078.0 front-end and stdlibs

This commit is contained in:
Martin 2018-01-05 19:36:33 +01:00
parent f338b559ff
commit cfad799f48
203 changed files with 9174 additions and 8166 deletions

View file

@ -188,7 +188,7 @@ static Type *DtoArrayElementType(Type *arrayType) {
static void copySlice(Loc &loc, LLValue *dstarr, LLValue *sz1, LLValue *srcarr,
LLValue *sz2, bool knownInBounds) {
const bool checksEnabled =
global.params.useAssert || gIR->emitArrayBoundsChecks();
global.params.useAssert == CHECKENABLEon || gIR->emitArrayBoundsChecks();
if (checksEnabled && !knownInBounds) {
LLValue *fn = getRuntimeFunction(loc, gIR->module, "_d_array_slice_copy");
gIR->CreateCallOrInvoke(fn, dstarr, sz1, srcarr, sz2);
@ -1379,7 +1379,7 @@ void DtoIndexBoundsCheck(Loc &loc, DValue *arr, DValue *index) {
void DtoBoundsCheckFailCall(IRState *irs, Loc &loc) {
Module *const module = irs->func()->decl->getModule();
if (global.params.betterC) {
if (global.params.checkAction == CHECKACTION_C) {
DtoCAssert(module, loc, DtoConstCString("array overflow"));
} else {
llvm::Function *errorfn =