Lines Matching refs:LVal

1402                                           QualType Type, const LValue &LVal) {  in CheckLValueConstantExpression()  argument
1405 APValue::LValueBase Base = LVal.getLValueBase(); in CheckLValueConstantExpression()
1406 const SubobjectDesignator &Designator = LVal.getLValueDesignator(); in CheckLValueConstantExpression()
1425 LVal.getLValueCallIndex() == 0) && in CheckLValueConstantExpression()
1555 LValue LVal; in CheckConstantExpression() local
1556 LVal.setFrom(Info.Ctx, Value); in CheckConstantExpression()
1557 return CheckLValueConstantExpression(Info, DiagLoc, Type, LVal); in CheckConstantExpression()
1564 static const ValueDecl *GetLValueBaseDecl(const LValue &LVal) { in GetLValueBaseDecl() argument
1565 return LVal.Base.dyn_cast<const ValueDecl*>(); in GetLValueBaseDecl()
2013 static bool HandleLValueMember(EvalInfo &Info, const Expr *E, LValue &LVal, in HandleLValueMember() argument
2022 LVal.Offset += Info.Ctx.toCharUnitsFromBits(RL->getFieldOffset(I)); in HandleLValueMember()
2023 LVal.addDecl(Info, E, FD); in HandleLValueMember()
2029 LValue &LVal, in HandleLValueIndirectMember() argument
2032 if (!HandleLValueMember(Info, E, LVal, cast<FieldDecl>(C))) in HandleLValueIndirectMember()
2070 LValue &LVal, QualType EltTy, in HandleLValueArrayAdjustment() argument
2077 LVal.Offset += Adjustment * SizeOfPointee; in HandleLValueArrayAdjustment()
2078 LVal.adjustIndex(Info, E, Adjustment); in HandleLValueArrayAdjustment()
2088 LValue &LVal, QualType EltTy, in HandleLValueComplexElement() argument
2094 LVal.Offset += SizeOfComponent; in HandleLValueComplexElement()
2096 LVal.addComplex(Info, E, EltTy, Imag); in HandleLValueComplexElement()
2688 AccessKinds AK, const LValue &LVal, in findCompleteObject() argument
2690 if (!LVal.Base) { in findCompleteObject()
2696 if (LVal.CallIndex) { in findCompleteObject()
2697 Frame = Info.getCallFrame(LVal.CallIndex); in findCompleteObject()
2700 << AK << LVal.Base.is<const ValueDecl*>(); in findCompleteObject()
2701 NoteLValueLocation(Info, LVal.Base); in findCompleteObject()
2721 QualType BaseType = getType(LVal.Base); in findCompleteObject()
2723 if (const ValueDecl *D = LVal.Base.dyn_cast<const ValueDecl*>()) { in findCompleteObject()
2809 const Expr *Base = LVal.Base.dyn_cast<const Expr*>(); in findCompleteObject()
2869 if (LVal.getLValueBase() == Info.EvaluatingDecl) { in findCompleteObject()
2900 const LValue &LVal, APValue &RVal) { in handleLValueToRValueConversion() argument
2901 if (LVal.Designator.Invalid) in handleLValueToRValueConversion()
2905 const Expr *Base = LVal.Base.dyn_cast<const Expr*>(); in handleLValueToRValueConversion()
2906 if (Base && !LVal.CallIndex && !Type.isVolatileQualified()) { in handleLValueToRValueConversion()
2920 return extractSubobject(Info, Conv, LitObj, LVal.Designator, RVal); in handleLValueToRValueConversion()
2927 return extractSubobject(Info, Conv, StrObj, LVal.Designator, RVal); in handleLValueToRValueConversion()
2931 CompleteObject Obj = findCompleteObject(Info, Conv, AK_Read, LVal, Type); in handleLValueToRValueConversion()
2932 return Obj && extractSubobject(Info, Conv, Obj, LVal.Designator, RVal); in handleLValueToRValueConversion()
2936 static bool handleAssignment(EvalInfo &Info, const Expr *E, const LValue &LVal, in handleAssignment() argument
2938 if (LVal.Designator.Invalid) in handleAssignment()
2946 CompleteObject Obj = findCompleteObject(Info, E, AK_Assign, LVal, LValType); in handleAssignment()
2947 return Obj && modifySubobject(Info, E, Obj, LVal.Designator, Val); in handleAssignment()
3039 LValue LVal; in foundPointer() local
3040 LVal.setFrom(Info.Ctx, Subobj); in foundPointer()
3041 if (!HandleLValueArrayAdjustment(Info, E, LVal, PointeeType, Offset)) in foundPointer()
3043 LVal.moveInto(Subobj); in foundPointer()
3057 const LValue &LVal, QualType LValType, QualType PromotedLValType, in handleCompoundAssignment() argument
3059 if (LVal.Designator.Invalid) in handleCompoundAssignment()
3067 CompleteObject Obj = findCompleteObject(Info, E, AK_Assign, LVal, LValType); in handleCompoundAssignment()
3070 return Obj && findSubobject(Info, E, Obj, LVal.Designator, Handler); in handleCompoundAssignment()
3191 LValue LVal; in foundPointer() local
3192 LVal.setFrom(Info.Ctx, Subobj); in foundPointer()
3193 if (!HandleLValueArrayAdjustment(Info, E, LVal, PointeeType, in foundPointer()
3196 LVal.moveInto(Subobj); in foundPointer()
3206 static bool handleIncDec(EvalInfo &Info, const Expr *E, const LValue &LVal, in handleIncDec() argument
3208 if (LVal.Designator.Invalid) in handleIncDec()
3217 CompleteObject Obj = findCompleteObject(Info, E, AK, LVal, LValType); in handleIncDec()
3219 return Obj && findSubobject(Info, E, Obj, LVal.Designator, Handler); in handleIncDec()
4495 LValue LVal; in VisitCastExpr() local
4496 if (!EvaluateLValue(E->getSubExpr(), LVal, Info)) in VisitCastExpr()
4501 LVal, RVal)) in VisitCastExpr()
4520 LValue LVal; in VisitUnaryPostIncDec() local
4521 if (!EvaluateLValue(UO->getSubExpr(), LVal, Info)) in VisitUnaryPostIncDec()
4524 if (!handleIncDec(this->Info, UO, LVal, UO->getSubExpr()->getType(), in VisitUnaryPostIncDec()
6622 static bool isDesignatorAtObjectEnd(const ASTContext &Ctx, const LValue &LVal) { in isDesignatorAtObjectEnd() argument
6623 assert(!LVal.Designator.Invalid); in isDesignatorAtObjectEnd()
6634 auto &Base = LVal.getLValueBase(); in isDesignatorAtObjectEnd()
6650 for (int I = 0, E = LVal.Designator.Entries.size(); I != E; ++I) { in isDesignatorAtObjectEnd()
6657 uint64_t Index = LVal.Designator.Entries[I].ArrayIndex; in isDesignatorAtObjectEnd()
6663 uint64_t Index = LVal.Designator.Entries[I].ArrayIndex; in isDesignatorAtObjectEnd()
6667 } else if (auto *FD = getAsField(LVal.Designator.Entries[I])) { in isDesignatorAtObjectEnd()
6673 assert(getAsBaseClass(LVal.Designator.Entries[I]) != nullptr && in isDesignatorAtObjectEnd()
6682 static bool refersToCompleteObject(const LValue &LVal) { in refersToCompleteObject() argument
6683 if (LVal.Designator.Invalid || !LVal.Designator.Entries.empty()) in refersToCompleteObject()
6686 if (!LVal.InvalidBase) in refersToCompleteObject()
6689 auto *E = LVal.Base.dyn_cast<const Expr *>(); in refersToCompleteObject()
9230 LValue LVal; in EvaluateAsInitializer() local
9231 LVal.set(VD); in EvaluateAsInitializer()
9240 if (!EvaluateInPlace(Value, InitInfo, LVal, &VIE, in EvaluateAsInitializer()
9245 if (!EvaluateInPlace(Value, InitInfo, LVal, this, in EvaluateAsInitializer()