DMD 2.032 Merge.

This commit is contained in:
Robert Clipsham
2009-09-08 10:07:56 +01:00
parent 8b6f11938a
commit 089e792258
38 changed files with 1732 additions and 586 deletions

View File

@@ -412,15 +412,24 @@ Expression *ArrayInitializer::toExpression()
case Tpointer:
case Tarray:
edim = dim;
break;
edim = dim;
break;
default:
assert(0);
}
}
else
{
edim = value.dim;
for (size_t i = 0, j = 0; i < value.dim; i++, j++)
{
if (index.data[i])
j = ((Expression *)index.data[i])->toInteger();
if (j >= edim)
edim = j + 1;
}
}
elements = new Expressions();
elements->setDim(edim);
@@ -464,7 +473,7 @@ Expression *ArrayInitializer::toExpression()
Lno:
delete elements;
error(loc, "array initializers as expressions are not allowed");
return NULL;
return new ErrorExp();
}