Home | History | Annotate | Download | only in AST

Lines Matching refs:Subobject

112   /// Find the path length and type of the most-derived subobject in the given
155 /// A path from a glvalue to a subobject of that glvalue.
157 /// True if the subobject was named in a manner not supported by C++11. Such
169 /// subobject.
183 /// The entries on the path from the glvalue to the designated subobject.
228 /// Check that this refers to a valid subobject.
234 /// Check that this refers to a valid subobject, and if not, produce a
280 /// Add N to the address of this subobject.
804 explicit FoldOffsetRAII(EvalInfo &Info, bool Subobject)
807 Info.EvalMode = Subobject ? EvalInfo::EM_DesignatorFold
1441 // each subobject of its value shall have been initialized by a constant
1852 /// Cast an lvalue referring to a base subobject to a derived class, by
1867 // Truncate the path to the subobject, and remove any derived-to-base offsets.
2247 /// A handle to a complete object (an object that is not a subobject of
2286 // Walk the designator's path to find the subobject.
2317 // Next subobject is an array element.
2337 assert(I == N - 1 && "extracting subobject of character?");
2354 // Next subobject is a complex number.
2370 assert(I == N - 1 && "extracting subobject of scalar?");
2387 // Next subobject is a class, struct or union field.
2408 // FIXME: Include a description of the path to the volatile subobject.
2420 // Next subobject is a base class.
2533 /// Find the position where two subobject designators diverge, or equivalently
2543 // Next subobject is an array element.
2558 // Next subobject is a field.
2561 // Next subobject is a base class.
2569 /// Determine whether the given subobject designators refer to elements of the
2579 // A is a subobject of the array element.
3141 /// the resulting LValue subobject designator. This is not possible when
3257 // Check this cast lands within the final derived-to-base subobject path.
3926 LValue Subobject = This;
3929 // Determine the subobject to initialize.
3941 if (!HandleLValueDirectBase(Info, I->getInit(), Subobject, RD,
3946 if (!HandleLValueMember(Info, I->getInit(), Subobject, FD, &Layout))
3962 // subobject other than the first.
3973 if (!HandleLValueMember(Info, I->getInit(), Subobject, FD))
3985 if (!EvaluateInPlace(*Value, Info, Subobject, I->getInit()) ||
4697 // Adjust our lvalue to refer to the desired subobject.
5285 /// each non-static data member and each base-class subobject is
5303 LValue Subobject = This;
5304 if (!HandleLValueDirectBase(Info, E, Subobject, CD, Base, &Layout))
5306 if (!HandleClassZeroInitialization(Info, E, Base, Subobject,
5317 LValue Subobject = This;
5318 if (!HandleLValueMember(Info, E, Subobject, I, &Layout))
5323 Result.getStructField(I->getFieldIndex()), Info, Subobject, &VIE))
5342 LValue Subobject = This;
5343 if (!HandleLValueMember(Info, E, Subobject, *I))
5347 return EvaluateInPlace(Result.getUnionValue(), Info, Subobject, &VIE);
5409 LValue Subobject = This;
5410 if (!HandleLValueMember(Info, InitExpr, Subobject, Field, &Layout))
5417 return EvaluateInPlace(Result.getUnionValue(), Info, Subobject, InitExpr);
5432 LValue Subobject = This;
5439 Subobject, Field, &Layout))
5452 if (!EvaluateInPlace(FieldVal, Info, Subobject, Init) ||
5569 // lvalues. The full-object of which the temporary is a subobject is implicitly
5829 LValue Subobject = This;
5830 Subobject.addArray(Info, E, CAT);
5832 return EvaluateInPlace(Result.getArrayFiller(), Info, Subobject, &VIE);
5841 const LValue &Subobject,
5896 LValue Subobject = This;
5897 Subobject.addArray(Info, E, CAT);
5902 Info, Subobject, Init) ||
5903 !HandleLValueArrayAdjustment(Info, Init, Subobject,
5917 return EvaluateInPlace(Result.getArrayFiller(), Info, Subobject,
5926 const LValue &Subobject,
5946 LValue ArrayElt = Subobject;
5970 return EvaluateInPlace(*Value, Info, Subobject, &VIE);
5981 if (!EvaluateInPlace(*Value, Info, Subobject, &VIE))
5986 return HandleConstructorCall(E->getExprLoc(), Subobject, Args,
6464 // In the case where we're not dealing with a subobject, we discard the
6465 // subobject bit.
6482 // If we're not examining only the subobject, then we reset to a complete
6485 // If Type is 1 and we've lost track of the subobject, just find the complete
6505 // According to the GCC documentation, we want the size of the subobject
6855 // If the designator is valid and refers to a subobject, we're not pointing
7537 // same member of the same most derived object or the same subobject if