Lines Matching refs:LVal
1326 QualType Type, const LValue &LVal) { in CheckLValueConstantExpression() argument
1329 APValue::LValueBase Base = LVal.getLValueBase(); in CheckLValueConstantExpression()
1330 const SubobjectDesignator &Designator = LVal.getLValueDesignator(); in CheckLValueConstantExpression()
1349 LVal.getLValueCallIndex() == 0) && in CheckLValueConstantExpression()
1479 LValue LVal; in CheckConstantExpression() local
1480 LVal.setFrom(Info.Ctx, Value); in CheckConstantExpression()
1481 return CheckLValueConstantExpression(Info, DiagLoc, Type, LVal); in CheckConstantExpression()
1488 static const ValueDecl *GetLValueBaseDecl(const LValue &LVal) { in GetLValueBaseDecl() argument
1489 return LVal.Base.dyn_cast<const ValueDecl*>(); in GetLValueBaseDecl()
1937 static bool HandleLValueMember(EvalInfo &Info, const Expr *E, LValue &LVal, in HandleLValueMember() argument
1946 LVal.Offset += Info.Ctx.toCharUnitsFromBits(RL->getFieldOffset(I)); in HandleLValueMember()
1947 LVal.addDecl(Info, E, FD); in HandleLValueMember()
1953 LValue &LVal, in HandleLValueIndirectMember() argument
1956 if (!HandleLValueMember(Info, E, LVal, cast<FieldDecl>(C))) in HandleLValueIndirectMember()
1989 LValue &LVal, QualType EltTy, in HandleLValueArrayAdjustment() argument
1996 LVal.Offset += Adjustment * SizeOfPointee; in HandleLValueArrayAdjustment()
1997 LVal.adjustIndex(Info, E, Adjustment); in HandleLValueArrayAdjustment()
2007 LValue &LVal, QualType EltTy, in HandleLValueComplexElement() argument
2013 LVal.Offset += SizeOfComponent; in HandleLValueComplexElement()
2015 LVal.addComplex(Info, E, EltTy, Imag); in HandleLValueComplexElement()
2592 AccessKinds AK, const LValue &LVal, in findCompleteObject() argument
2594 if (!LVal.Base) { in findCompleteObject()
2600 if (LVal.CallIndex) { in findCompleteObject()
2601 Frame = Info.getCallFrame(LVal.CallIndex); in findCompleteObject()
2604 << AK << LVal.Base.is<const ValueDecl*>(); in findCompleteObject()
2605 NoteLValueLocation(Info, LVal.Base); in findCompleteObject()
2625 QualType BaseType = getType(LVal.Base); in findCompleteObject()
2627 if (const ValueDecl *D = LVal.Base.dyn_cast<const ValueDecl*>()) { in findCompleteObject()
2706 const Expr *Base = LVal.Base.dyn_cast<const Expr*>(); in findCompleteObject()
2766 if (LVal.getLValueBase() == Info.EvaluatingDecl) { in findCompleteObject()
2796 const LValue &LVal, APValue &RVal) { in handleLValueToRValueConversion() argument
2797 if (LVal.Designator.Invalid) in handleLValueToRValueConversion()
2801 const Expr *Base = LVal.Base.dyn_cast<const Expr*>(); in handleLValueToRValueConversion()
2802 if (Base && !LVal.CallIndex && !Type.isVolatileQualified()) { in handleLValueToRValueConversion()
2816 return extractSubobject(Info, Conv, LitObj, LVal.Designator, RVal); in handleLValueToRValueConversion()
2823 return extractSubobject(Info, Conv, StrObj, LVal.Designator, RVal); in handleLValueToRValueConversion()
2827 CompleteObject Obj = findCompleteObject(Info, Conv, AK_Read, LVal, Type); in handleLValueToRValueConversion()
2828 return Obj && extractSubobject(Info, Conv, Obj, LVal.Designator, RVal); in handleLValueToRValueConversion()
2832 static bool handleAssignment(EvalInfo &Info, const Expr *E, const LValue &LVal, in handleAssignment() argument
2834 if (LVal.Designator.Invalid) in handleAssignment()
2842 CompleteObject Obj = findCompleteObject(Info, E, AK_Assign, LVal, LValType); in handleAssignment()
2843 return Obj && modifySubobject(Info, E, Obj, LVal.Designator, Val); in handleAssignment()
2935 LValue LVal; in foundPointer() local
2936 LVal.setFrom(Info.Ctx, Subobj); in foundPointer()
2937 if (!HandleLValueArrayAdjustment(Info, E, LVal, PointeeType, Offset)) in foundPointer()
2939 LVal.moveInto(Subobj); in foundPointer()
2953 const LValue &LVal, QualType LValType, QualType PromotedLValType, in handleCompoundAssignment() argument
2955 if (LVal.Designator.Invalid) in handleCompoundAssignment()
2963 CompleteObject Obj = findCompleteObject(Info, E, AK_Assign, LVal, LValType); in handleCompoundAssignment()
2966 return Obj && findSubobject(Info, E, Obj, LVal.Designator, Handler); in handleCompoundAssignment()
3087 LValue LVal; in foundPointer() local
3088 LVal.setFrom(Info.Ctx, Subobj); in foundPointer()
3089 if (!HandleLValueArrayAdjustment(Info, E, LVal, PointeeType, in foundPointer()
3092 LVal.moveInto(Subobj); in foundPointer()
3102 static bool handleIncDec(EvalInfo &Info, const Expr *E, const LValue &LVal, in handleIncDec() argument
3104 if (LVal.Designator.Invalid) in handleIncDec()
3113 CompleteObject Obj = findCompleteObject(Info, E, AK, LVal, LValType); in handleIncDec()
3115 return Obj && findSubobject(Info, E, Obj, LVal.Designator, Handler); in handleIncDec()
4348 LValue LVal; in VisitCastExpr() local
4349 if (!EvaluateLValue(E->getSubExpr(), LVal, Info)) in VisitCastExpr()
4354 LVal, RVal)) in VisitCastExpr()
4373 LValue LVal; in VisitUnaryPostIncDec() local
4374 if (!EvaluateLValue(UO->getSubExpr(), LVal, Info)) in VisitUnaryPostIncDec()
4377 if (!handleIncDec(this->Info, UO, LVal, UO->getSubExpr()->getType(), in VisitUnaryPostIncDec()
6349 static bool isDesignatorAtObjectEnd(const ASTContext &Ctx, const LValue &LVal) { in isDesignatorAtObjectEnd() argument
6350 assert(!LVal.Designator.Invalid); in isDesignatorAtObjectEnd()
6359 auto &Base = LVal.getLValueBase(); in isDesignatorAtObjectEnd()
6372 for (int I = 0, E = LVal.Designator.Entries.size(); I != E; ++I) { in isDesignatorAtObjectEnd()
6379 uint64_t Index = LVal.Designator.Entries[I].ArrayIndex; in isDesignatorAtObjectEnd()
6385 uint64_t Index = LVal.Designator.Entries[I].ArrayIndex; in isDesignatorAtObjectEnd()
6389 } else if (auto *FD = getAsField(LVal.Designator.Entries[I])) { in isDesignatorAtObjectEnd()
6394 assert(getAsBaseClass(LVal.Designator.Entries[I]) != nullptr && in isDesignatorAtObjectEnd()
6403 static bool refersToCompleteObject(const LValue &LVal) { in refersToCompleteObject() argument
6404 if (LVal.Designator.Invalid || !LVal.Designator.Entries.empty()) in refersToCompleteObject()
6407 if (!LVal.InvalidBase) in refersToCompleteObject()
6410 auto *E = LVal.Base.dyn_cast<const Expr *>(); in refersToCompleteObject()
8913 LValue LVal; in EvaluateAsInitializer() local
8914 LVal.set(VD); in EvaluateAsInitializer()
8923 if (!EvaluateInPlace(Value, InitInfo, LVal, &VIE, in EvaluateAsInitializer()
8928 if (!EvaluateInPlace(Value, InitInfo, LVal, this, in EvaluateAsInitializer()