Array-sizing bug fix: multiple array initializers of different size in the same declaration.

Handles the case of
    float[] x = float[] (1.0, 2.0, 3.0),
            y = float[] (1.0, 2.0, 3.0, 4.0);
where a shallow copy of the type arrayness from the left-most float[]
was getting used twice.
This commit is contained in:
John Kessenich 2015-11-28 12:52:29 -07:00
parent dad6408542
commit 989df85dcd
5 changed files with 74 additions and 5 deletions

View file

@ -930,7 +930,7 @@ public:
qualifier.precision = p;
assert(p >= 0 && p <= EpqHigh);
}
// for turning a TPublicType into a TType
// for turning a TPublicType into a TType, using a shallow copy
explicit TType(const TPublicType& p) :
basicType(p.basicType), vectorSize(p.vectorSize), matrixCols(p.matrixCols), matrixRows(p.matrixRows), arraySizes(p.arraySizes),
structure(nullptr), fieldName(nullptr), typeName(nullptr)