Lines Matching defs:Array
88 /// Get an LValue path entry, which is known to not be an array index, as a
97 /// Get an LValue path entry, which is known to not be an array index, as a
102 /// Get an LValue path entry, which is known to not be an array index, as a
114 /// path, and find the size of the containing array, if any.
166 /// Indicator of whether the most-derived object is an array element.
173 /// The size of the array of which the most-derived object is an element.
174 /// This will always be 0 if the most-derived object is not an array
176 /// is an array, however, because 0-length arrays are allowed.
239 /// Update this designator to refer to the first element within this array.
295 // an array of length one with the type of the object as its element type.
954 << static_cast<int>(N) << /*array*/ 0
958 << static_cast<int>(N) << /*non-array*/ 1;
1516 // Core issue 1454: For a literal constant expression of array or class type,
1630 case APValue::Array:
2221 assert(CAT && "string literal isn't an array");
2232 // Expand a string literal into an array of characters.
2238 assert(CAT && "string literal isn't an array");
2255 // Expand an array so that it has more than Index filled elements.
2256 static void expandArray(APValue &Array, unsigned Index) {
2257 unsigned Size = Array.getArraySize();
2261 unsigned OldElts = Array.getArrayInitializedElts();
2268 NewValue.getArrayInitializedElt(I).swap(Array.getArrayInitializedElt(I));
2270 NewValue.getArrayInitializedElt(I) = Array.getArrayFiller();
2272 NewValue.getArrayFiller() = Array.getArrayFiller();
2273 Array.swap(NewValue);
2413 // Next subobject is an array element.
2419 // designator which points more than one past the end of the array.
2430 // An array object is represented as either an Array APValue or as an
2639 // Next subobject is an array element.
2666 /// same array object.
2675 // A is a subobject of the array element.
2678 // If A (and B) designates an array element, the last entry will be the array
2679 // index. That doesn't have to match. Otherwise, we're in the 'implicit array
2922 // We represent a string literal array as an lvalue pointing at the
2923 // corresponding expression, rather than building an array of chars.
4924 // FIXME: Deal with vectors as array subscript bases.
5194 // The result is a pointer to the first element of the array.
5652 // be initializing an array element instead.
5721 LValue Array;
5722 if (!EvaluateLValue(E->getSubExpr(), Array, Info))
5725 // Get a pointer to the first element of the array.
5726 Array.addArray(Info, E, ArrayType);
5742 Array.moveInto(Result.getStructField(0));
5751 if (!HandleLValueArrayAdjustment(Info, E, Array,
5755 Array.moveInto(Result.getStructField(1));
6008 // Array Evaluation
6023 "expected array or string literal");
6058 assert(E->isRValue() && E->getType()->isArrayType() && "not an array rvalue");
6067 // C++11 [dcl.init.string]p1: A char array [...] can be initialized by [...]
6081 "zero-initialized array shouldn't have any initialized elts");
6090 // If the initializer might depend on the array index, run it for each
6091 // array element. For now, just whitelist non-class value-initialization.
6097 // If the array was previously zero-initialized, preserve the
6125 // once and splat over the rest of the array elements.
6126 assert(FillerExpr && "no array filler for incomplete init list");
6144 // Preserve the array filler if we had prior zero-initialization.
6311 // FIXME: Missing: array subscript of vector, member of vector
6653 // the index iff this is the last array in the Designator.
6786 // want is the size of the immediately-enclosing array, if there is one.
6790 // We got a pointer to an array. Step to its end.
6815 // So, if we see that we're examining a 1-length (or 0-length) array at the
7667 // Unless both pointers point to elements of the same array object, or
7668 // one past the last element of the array object, the behavior is
7683 // C, array of zero length). Pointer subtraction in such cases has
7727 // or to subobjects or array elements fo such members, recursively, the
7741 // - we are comparing array indices
7918 case OffsetOfNode::Array: {
8226 // FIXME: Missing: array subscript of vector, member of vector
9133 // FIXME: Evaluating values of large array and record types can cause
9216 // FIXME: Evaluating initializers for large array and record types can cause
9529 // array subscripts that aren't ICEs, and if the array subscripts