diff options
Diffstat (limited to 'gcc/d/dmd/constfold.d')
-rw-r--r-- | gcc/d/dmd/constfold.d | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/gcc/d/dmd/constfold.d b/gcc/d/dmd/constfold.d index f4e44e8..ef684ba 100644 --- a/gcc/d/dmd/constfold.d +++ b/gcc/d/dmd/constfold.d @@ -644,7 +644,7 @@ UnionExp Equal(EXP op, const ref Loc loc, Type type, Expression e1, Expression e } else if (ArrayLiteralExp es2 = e2.isArrayLiteralExp()) { - cmp = !es2.elements || (0 == es2.elements.dim); + cmp = !es2.elements || (0 == es2.elements.length); } else { @@ -660,7 +660,7 @@ UnionExp Equal(EXP op, const ref Loc loc, Type type, Expression e1, Expression e } else if (ArrayLiteralExp es1 = e1.isArrayLiteralExp()) { - cmp = !es1.elements || (0 == es1.elements.dim); + cmp = !es1.elements || (0 == es1.elements.length); } else { @@ -689,15 +689,15 @@ UnionExp Equal(EXP op, const ref Loc loc, Type type, Expression e1, Expression e { ArrayLiteralExp es1 = e1.isArrayLiteralExp(); ArrayLiteralExp es2 = e2.isArrayLiteralExp(); - if ((!es1.elements || !es1.elements.dim) && (!es2.elements || !es2.elements.dim)) + if ((!es1.elements || !es1.elements.length) && (!es2.elements || !es2.elements.length)) cmp = 1; // both arrays are empty else if (!es1.elements || !es2.elements) cmp = 0; - else if (es1.elements.dim != es2.elements.dim) + else if (es1.elements.length != es2.elements.length) cmp = 0; else { - for (size_t i = 0; i < es1.elements.dim; i++) + for (size_t i = 0; i < es1.elements.length; i++) { auto ee1 = es1[i]; auto ee2 = es2[i]; @@ -724,7 +724,7 @@ UnionExp Equal(EXP op, const ref Loc loc, Type type, Expression e1, Expression e StringExp es1 = e1.isStringExp(); ArrayLiteralExp es2 = e2.isArrayLiteralExp(); size_t dim1 = es1.len; - size_t dim2 = es2.elements ? es2.elements.dim : 0; + size_t dim2 = es2.elements ? es2.elements.length : 0; if (dim1 != dim2) cmp = 0; else @@ -751,16 +751,16 @@ UnionExp Equal(EXP op, const ref Loc loc, Type type, Expression e1, Expression e StructLiteralExp es2 = e2.isStructLiteralExp(); if (es1.sd != es2.sd) cmp = 0; - else if ((!es1.elements || !es1.elements.dim) && (!es2.elements || !es2.elements.dim)) + else if ((!es1.elements || !es1.elements.length) && (!es2.elements || !es2.elements.length)) cmp = 1; // both arrays are empty else if (!es1.elements || !es2.elements) cmp = 0; - else if (es1.elements.dim != es2.elements.dim) + else if (es1.elements.length != es2.elements.length) cmp = 0; else { cmp = 1; - for (size_t i = 0; i < es1.elements.dim; i++) + for (size_t i = 0; i < es1.elements.length; i++) { Expression ee1 = (*es1.elements)[i]; Expression ee2 = (*es2.elements)[i]; @@ -1074,7 +1074,7 @@ UnionExp Cast(const ref Loc loc, Type type, Type to, Expression e1) StructDeclaration sd = tb.toDsymbol(null).isStructDeclaration(); assert(sd); auto elements = new Expressions(); - for (size_t i = 0; i < sd.fields.dim; i++) + for (size_t i = 0; i < sd.fields.length; i++) { VarDeclaration v = sd.fields[i]; UnionExp zero; @@ -1110,12 +1110,12 @@ UnionExp ArrayLength(Type type, Expression e1) } else if (ArrayLiteralExp ale = e1.isArrayLiteralExp()) { - size_t dim = ale.elements ? ale.elements.dim : 0; + size_t dim = ale.elements ? ale.elements.length : 0; emplaceExp!(IntegerExp)(&ue, loc, dim, type); } else if (AssocArrayLiteralExp ale = e1.isAssocArrayLiteralExp) { - size_t dim = ale.keys.dim; + size_t dim = ale.keys.length; emplaceExp!(IntegerExp)(&ue, loc, dim, type); } else if (e1.type.toBasetype().ty == Tsarray) @@ -1183,9 +1183,9 @@ UnionExp Index(Type type, Expression e1, Expression e2, bool indexIsInBounds) uinteger_t i = e2.toInteger(); if (ArrayLiteralExp ale = e1.isArrayLiteralExp()) { - if (i >= ale.elements.dim) + if (i >= ale.elements.length) { - e1.error("array index %llu is out of bounds `%s[0 .. %llu]`", i, e1.toChars(), cast(ulong) ale.elements.dim); + e1.error("array index %llu is out of bounds `%s[0 .. %llu]`", i, e1.toChars(), cast(ulong) ale.elements.length); emplaceExp!(ErrorExp)(&ue); } else @@ -1206,7 +1206,7 @@ UnionExp Index(Type type, Expression e1, Expression e2, bool indexIsInBounds) { /* Search the keys backwards, in case there are duplicate keys */ - for (size_t i = ae.keys.dim; i;) + for (size_t i = ae.keys.length; i;) { i--; Expression ekey = (*ae.keys)[i]; @@ -1274,7 +1274,7 @@ UnionExp Slice(Type type, Expression e1, Expression lwr, Expression upr) ArrayLiteralExp es1 = e1.isArrayLiteralExp(); const uinteger_t ilwr = lwr.toInteger(); const uinteger_t iupr = upr.toInteger(); - if (sliceBoundsCheck(0, es1.elements.dim, ilwr, iupr)) + if (sliceBoundsCheck(0, es1.elements.length, ilwr, iupr)) cantExp(ue); else { @@ -1318,7 +1318,7 @@ void sliceAssignArrayLiteralFromString(ArrayLiteralExp existingAE, const StringE void sliceAssignStringFromArrayLiteral(StringExp existingSE, ArrayLiteralExp newae, size_t firstIndex) { assert(existingSE.ownedByCtfe != OwnedBy.code); - foreach (j; 0 .. newae.elements.dim) + foreach (j; 0 .. newae.elements.length) { existingSE.setCodeUnit(firstIndex + j, cast(dchar)newae[j].toInteger()); } @@ -1383,9 +1383,9 @@ private Expressions* copyElements(Expression e1, Expression e2 = null) { if (!ale.elements) return; - auto d = elems.dim; + auto d = elems.length; elems.append(ale.elements); - foreach (ref el; (*elems)[d .. elems.dim]) + foreach (ref el; (*elems)[d .. elems.length]) { if (!el) el = ale.basis; @@ -1524,15 +1524,15 @@ UnionExp Cat(const ref Loc loc, Type type, Expression e1, Expression e2) // [chars] ~ string --> [chars] StringExp es = e2.isStringExp(); ArrayLiteralExp ea = e1.isArrayLiteralExp(); - size_t len = es.len + ea.elements.dim; + size_t len = es.len + ea.elements.length; auto elems = new Expressions(len); - for (size_t i = 0; i < ea.elements.dim; ++i) + for (size_t i = 0; i < ea.elements.length; ++i) { (*elems)[i] = ea[i]; } emplaceExp!(ArrayLiteralExp)(&ue, e1.loc, type, elems); ArrayLiteralExp dest = ue.exp().isArrayLiteralExp(); - sliceAssignArrayLiteralFromString(dest, es, ea.elements.dim); + sliceAssignArrayLiteralFromString(dest, es, ea.elements.length); assert(ue.exp().type); return ue; } @@ -1541,9 +1541,9 @@ UnionExp Cat(const ref Loc loc, Type type, Expression e1, Expression e2) // string ~ [chars] --> [chars] StringExp es = e1.isStringExp(); ArrayLiteralExp ea = e2.isArrayLiteralExp(); - size_t len = es.len + ea.elements.dim; + size_t len = es.len + ea.elements.length; auto elems = new Expressions(len); - for (size_t i = 0; i < ea.elements.dim; ++i) + for (size_t i = 0; i < ea.elements.length; ++i) { (*elems)[es.len + i] = ea[i]; } @@ -1609,7 +1609,7 @@ UnionExp Cat(const ref Loc loc, Type type, Expression e1, Expression e2) e = ue.exp(); if (type.toBasetype().ty == Tsarray) { - e.type = t1.nextOf().sarrayOf(elems.dim); + e.type = t1.nextOf().sarrayOf(elems.length); } else e.type = type; @@ -1633,7 +1633,7 @@ UnionExp Cat(const ref Loc loc, Type type, Expression e1, Expression e2) e = ue.exp(); if (type.toBasetype().ty == Tsarray) { - e.type = t1.nextOf().sarrayOf(elems.dim); + e.type = t1.nextOf().sarrayOf(elems.length); } else e.type = type; @@ -1651,7 +1651,7 @@ UnionExp Cat(const ref Loc loc, Type type, Expression e1, Expression e2) e = ue.exp(); if (type.toBasetype().ty == Tsarray) { - e.type = e2.type.sarrayOf(elems.dim); + e.type = e2.type.sarrayOf(elems.length); } else e.type = type; @@ -1667,7 +1667,7 @@ UnionExp Cat(const ref Loc loc, Type type, Expression e1, Expression e2) e = ue.exp(); if (type.toBasetype().ty == Tsarray) { - e.type = e1.type.sarrayOf(elems.dim); + e.type = e1.type.sarrayOf(elems.length); } else e.type = type; |