aboutsummaryrefslogtreecommitdiff
path: root/gcc/d/dmd/ctfeexpr.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/d/dmd/ctfeexpr.c')
-rw-r--r--gcc/d/dmd/ctfeexpr.c90
1 files changed, 45 insertions, 45 deletions
diff --git a/gcc/d/dmd/ctfeexpr.c b/gcc/d/dmd/ctfeexpr.c
index 7605d02..16ffede 100644
--- a/gcc/d/dmd/ctfeexpr.c
+++ b/gcc/d/dmd/ctfeexpr.c
@@ -43,18 +43,18 @@ int ClassReferenceExp::getFieldIndex(Type *fieldtype, unsigned fieldoffset)
{
ClassDeclaration *cd = originalClass();
unsigned fieldsSoFar = 0;
- for (size_t j = 0; j < value->elements->dim; j++)
+ for (size_t j = 0; j < value->elements->length; j++)
{
- while (j - fieldsSoFar >= cd->fields.dim)
+ while (j - fieldsSoFar >= cd->fields.length)
{
- fieldsSoFar += cd->fields.dim;
+ fieldsSoFar += cd->fields.length;
cd = cd->baseClass;
}
VarDeclaration *v2 = cd->fields[j - fieldsSoFar];
if (fieldoffset == v2->offset &&
fieldtype->size() == v2->type->size())
{
- return (int)(value->elements->dim - fieldsSoFar - cd->fields.dim + (j-fieldsSoFar));
+ return (int)(value->elements->length - fieldsSoFar - cd->fields.length + (j-fieldsSoFar));
}
}
return -1;
@@ -66,17 +66,17 @@ int ClassReferenceExp::findFieldIndexByName(VarDeclaration *v)
{
ClassDeclaration *cd = originalClass();
size_t fieldsSoFar = 0;
- for (size_t j = 0; j < value->elements->dim; j++)
+ for (size_t j = 0; j < value->elements->length; j++)
{
- while (j - fieldsSoFar >= cd->fields.dim)
+ while (j - fieldsSoFar >= cd->fields.length)
{
- fieldsSoFar += cd->fields.dim;
+ fieldsSoFar += cd->fields.length;
cd = cd->baseClass;
}
VarDeclaration *v2 = cd->fields[j - fieldsSoFar];
if (v == v2)
{
- return (int)(value->elements->dim - fieldsSoFar - cd->fields.dim + (j-fieldsSoFar));
+ return (int)(value->elements->length - fieldsSoFar - cd->fields.length + (j-fieldsSoFar));
}
}
return -1;
@@ -100,7 +100,7 @@ const char *VoidInitExp::toChars()
// Same as getFieldIndex, but checks for a direct match with the VarDeclaration
int findFieldIndexByName(StructDeclaration *sd, VarDeclaration *v)
{
- for (size_t i = 0; i < sd->fields.dim; ++i)
+ for (size_t i = 0; i < sd->fields.length; ++i)
{
if (sd->fields[i] == v)
return (int)i;
@@ -229,8 +229,8 @@ Expressions *copyLiteralArray(Expressions *oldelems, Expression *basis = NULL)
return oldelems;
CtfeStatus::numArrayAllocs++;
Expressions *newelems = new Expressions();
- newelems->setDim(oldelems->dim);
- for (size_t i = 0; i < oldelems->dim; i++)
+ newelems->setDim(oldelems->length);
+ for (size_t i = 0; i < oldelems->length; i++)
{
Expression *el = (*oldelems)[i];
if (!el)
@@ -288,8 +288,8 @@ UnionExp copyLiteral(Expression *e)
StructLiteralExp *sle = (StructLiteralExp *)e;
Expressions *oldelems = sle->elements;
Expressions * newelems = new Expressions();
- newelems->setDim(oldelems->dim);
- for (size_t i = 0; i < newelems->dim; i++)
+ newelems->setDim(oldelems->length);
+ for (size_t i = 0; i < newelems->length; i++)
{
// We need the struct definition to detect block assignment
VarDeclaration *v = sle->sd->fields[i];
@@ -534,12 +534,12 @@ uinteger_t resolveArrayLength(Expression *e)
if (e->op == TOKarrayliteral)
{
ArrayLiteralExp *ale = (ArrayLiteralExp *)e;
- return ale->elements ? ale->elements->dim : 0;
+ return ale->elements ? ale->elements->length : 0;
}
if (e->op == TOKassocarrayliteral)
{
AssocArrayLiteralExp *ale = (AssocArrayLiteralExp *)e;
- return ale->keys->dim;
+ return ale->keys->length;
}
assert(0);
return 0;
@@ -1314,16 +1314,16 @@ int ctfeRawCmp(Loc loc, Expression *e1, Expression *e2)
if (es1->sd != es2->sd)
return 1;
- else if ((!es1->elements || !es1->elements->dim) &&
- (!es2->elements || !es2->elements->dim))
+ else if ((!es1->elements || !es1->elements->length) &&
+ (!es2->elements || !es2->elements->length))
return 0; // both arrays are empty
else if (!es1->elements || !es2->elements)
return 1;
- else if (es1->elements->dim != es2->elements->dim)
+ else if (es1->elements->length != es2->elements->length)
return 1;
else
{
- 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];
@@ -1344,8 +1344,8 @@ int ctfeRawCmp(Loc loc, Expression *e1, Expression *e2)
AssocArrayLiteralExp *es1 = (AssocArrayLiteralExp *)e1;
AssocArrayLiteralExp *es2 = (AssocArrayLiteralExp *)e2;
- size_t dim = es1->keys->dim;
- if (es2->keys->dim != dim)
+ size_t dim = es1->keys->length;
+ if (es2->keys->length != dim)
return 1;
bool *used = (bool *)mem.xmalloc(sizeof(bool) * dim);
@@ -1459,12 +1459,12 @@ UnionExp ctfeCat(Loc loc, Type *type, Expression *e1, Expression *e2)
// [chars] ~ string => string (only valid for CTFE)
StringExp *es1 = (StringExp *)e2;
ArrayLiteralExp *es2 = (ArrayLiteralExp *)e1;
- size_t len = es1->len + es2->elements->dim;
+ size_t len = es1->len + es2->elements->length;
unsigned char sz = es1->sz;
void *s = mem.xmalloc((len + 1) * sz);
- memcpy((char *)s + sz * es2->elements->dim, es1->string, es1->len * sz);
- for (size_t i = 0; i < es2->elements->dim; i++)
+ memcpy((char *)s + sz * es2->elements->length, es1->string, es1->len * sz);
+ for (size_t i = 0; i < es2->elements->length; i++)
{
Expression *es2e = (*es2->elements)[i];
if (es2e->op != TOKint64)
@@ -1493,12 +1493,12 @@ UnionExp ctfeCat(Loc loc, Type *type, Expression *e1, Expression *e2)
// Concatenate the strings
StringExp *es1 = (StringExp *)e1;
ArrayLiteralExp *es2 = (ArrayLiteralExp *)e2;
- size_t len = es1->len + es2->elements->dim;
+ size_t len = es1->len + es2->elements->length;
unsigned char sz = es1->sz;
void *s = mem.xmalloc((len + 1) * sz);
memcpy(s, es1->string, es1->len * sz);
- for (size_t i = 0; i < es2->elements->dim; i++)
+ for (size_t i = 0; i < es2->elements->length; i++)
{
Expression *es2e = (*es2->elements)[i];
if (es2e->op != TOKint64)
@@ -1529,7 +1529,7 @@ UnionExp ctfeCat(Loc loc, Type *type, Expression *e1, Expression *e2)
new(&ue) ArrayLiteralExp(es1->loc, type, copyLiteralArray(es1->elements));
es1 = (ArrayLiteralExp *)ue.exp();
- es1->elements->insert(es1->elements->dim, copyLiteralArray(es2->elements));
+ es1->elements->insert(es1->elements->length, copyLiteralArray(es2->elements));
return ue;
}
if (e1->op == TOKarrayliteral && e2->op == TOKnull &&
@@ -1557,7 +1557,7 @@ Expression *findKeyInAA(Loc loc, AssocArrayLiteralExp *ae, Expression *e2)
{
/* 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];
@@ -1591,9 +1591,9 @@ Expression *ctfeIndex(Loc loc, Type *type, Expression *e1, uinteger_t indx)
assert(e1->op == TOKarrayliteral);
{
ArrayLiteralExp *ale = (ArrayLiteralExp *)e1;
- if (indx >= ale->elements->dim)
+ if (indx >= ale->elements->length)
{
- error(loc, "array index %llu is out of bounds %s[0 .. %llu]", (ulonglong)indx, e1->toChars(), (ulonglong)ale->elements->dim);
+ error(loc, "array index %llu is out of bounds %s[0 .. %llu]", (ulonglong)indx, e1->toChars(), (ulonglong)ale->elements->length);
return CTFEExp::cantexp;
}
Expression *e = (*ale->elements)[(size_t)indx];
@@ -1680,7 +1680,7 @@ void assignInPlace(Expression *dest, Expression *src)
assert(dest->op == src->op);
oldelems = ((StructLiteralExp *)dest)->elements;
newelems = ((StructLiteralExp *)src)->elements;
- if (((StructLiteralExp *)dest)->sd->isNested() && oldelems->dim == newelems->dim - 1)
+ if (((StructLiteralExp *)dest)->sd->isNested() && oldelems->length == newelems->length - 1)
oldelems->push(NULL);
}
else if (dest->op == TOKarrayliteral && src->op==TOKarrayliteral)
@@ -1706,9 +1706,9 @@ void assignInPlace(Expression *dest, Expression *src)
else
assert(0);
- assert(oldelems->dim == newelems->dim);
+ assert(oldelems->length == newelems->length);
- for (size_t i= 0; i < oldelems->dim; ++i)
+ for (size_t i= 0; i < oldelems->length; ++i)
{
Expression *e = (*newelems)[i];
Expression *o = (*oldelems)[i];
@@ -1734,8 +1734,8 @@ Expressions *changeOneElement(Expressions *oldelems, size_t indexToChange, Expre
{
Expressions *expsx = new Expressions();
++CtfeStatus::numArrayAllocs;
- expsx->setDim(oldelems->dim);
- for (size_t j = 0; j < expsx->dim; j++)
+ expsx->setDim(oldelems->length);
+ for (size_t j = 0; j < expsx->length; j++)
{
if (j == indexToChange)
(*expsx)[j] = newelem;
@@ -1754,7 +1754,7 @@ Expression *assignAssocArrayElement(Loc loc, AssocArrayLiteralExp *aae,
Expressions *keysx = aae->keys;
Expressions *valuesx = aae->values;
int updated = 0;
- for (size_t j = valuesx->dim; j; )
+ for (size_t j = valuesx->length; j; )
{
j--;
Expression *ekey = (*aae->keys)[j];
@@ -2027,13 +2027,13 @@ void showCtfeExpr(Expression *e, int level)
if (elements)
{
size_t fieldsSoFar = 0;
- for (size_t i = 0; i < elements->dim; i++)
+ for (size_t i = 0; i < elements->length; i++)
{
Expression *z = NULL;
VarDeclaration *v = NULL;
if (i > 15)
{
- printf("...(total %d elements)\n", (int)elements->dim);
+ printf("...(total %d elements)\n", (int)elements->length);
return;
}
if (sd)
@@ -2043,17 +2043,17 @@ void showCtfeExpr(Expression *e, int level)
}
else if (cd)
{
- while (i - fieldsSoFar >= cd->fields.dim)
+ while (i - fieldsSoFar >= cd->fields.length)
{
- fieldsSoFar += cd->fields.dim;
+ fieldsSoFar += cd->fields.length;
cd = cd->baseClass;
for (int j = level; j > 0; --j) printf(" ");
printf(" BASE CLASS: %s\n", cd->toChars());
}
v = cd->fields[i - fieldsSoFar];
- assert((elements->dim + i) >= (fieldsSoFar + cd->fields.dim));
- size_t indx = (elements->dim - fieldsSoFar)- cd->fields.dim + i;
- assert(indx < elements->dim);
+ assert((elements->length + i) >= (fieldsSoFar + cd->fields.length));
+ size_t indx = (elements->length - fieldsSoFar)- cd->fields.length + i;
+ assert(indx < elements->length);
z = (*elements)[indx];
}
if (!z)
@@ -2109,8 +2109,8 @@ UnionExp voidInitLiteral(Type *t, VarDeclaration *var)
{
TypeStruct *ts = (TypeStruct *)t;
Expressions *exps = new Expressions();
- exps->setDim(ts->sym->fields.dim);
- for (size_t i = 0; i < ts->sym->fields.dim; i++)
+ exps->setDim(ts->sym->fields.length);
+ for (size_t i = 0; i < ts->sym->fields.length; i++)
{
(*exps)[i] = voidInitLiteral(ts->sym->fields[i]->type, ts->sym->fields[i]).copy();
}