• Home
  • Raw
  • Download

Lines Matching refs:APValue

55 static bool IsGlobalLValue(APValue::LValueBase B);
62 static QualType getType(APValue::LValueBase B) { in getType()
90 APValue::BaseOrMemberType getAsBaseOrMember(APValue::LValuePathEntry E) { in getAsBaseOrMember()
91 APValue::BaseOrMemberType Value; in getAsBaseOrMember()
98 static const FieldDecl *getAsField(APValue::LValuePathEntry E) { in getAsField()
103 static const CXXRecordDecl *getAsBaseClass(APValue::LValuePathEntry E) { in getAsBaseClass()
108 static bool isVirtualBaseClass(APValue::LValuePathEntry E) { in isVirtualBaseClass()
116 ArrayRef<APValue::LValuePathEntry> Path, in findMostDerivedSubobject()
181 typedef APValue::LValuePathEntry PathEntry;
193 SubobjectDesignator(ASTContext &Ctx, const APValue &V) in SubobjectDesignator()
254 APValue::BaseOrMemberType Value(D, Virtual); in addDeclUnchecked()
327 APValue *Arguments;
331 typedef std::map<const void*, APValue> MapTy;
338 APValue *Arguments);
341 APValue *getTemporary(const void *Key) { in getTemporary()
345 APValue &createTemporary(const void *Key, bool IsLifetimeExtended);
410 llvm::PointerIntPair<APValue*, 1, bool> Value;
413 Cleanup(APValue *Val, bool IsLifetimeExtended) in Cleanup()
418 *Value.getPointer() = APValue(); in endLifetime()
466 APValue::LValueBase EvaluatingDecl;
470 APValue *EvaluatingDeclValue;
546 void setEvaluatingDecl(APValue::LValueBase Base, APValue &Value) { in setEvaluatingDecl()
898 APValue *Arguments) in CallStackFrame()
911 APValue &CallStackFrame::createTemporary(const void *Key, in createTemporary()
913 APValue &Result = Temporaries[Key]; in createTemporary()
972 void moveInto(APValue &v) const { in moveInto()
974 v = APValue(FloatReal, FloatImag); in moveInto()
976 v = APValue(IntReal, IntImag); in moveInto()
978 void setFrom(const APValue &v) { in setFrom()
993 APValue::LValueBase Base;
999 const APValue::LValueBase getLValueBase() const { return Base; } in getLValueBase()
1006 void moveInto(APValue &V) const { in moveInto()
1008 V = APValue(Base, Offset, APValue::NoLValuePath(), CallIndex); in moveInto()
1010 V = APValue(Base, Offset, Designator.Entries, in moveInto()
1013 void setFrom(ASTContext &Ctx, const APValue &V) { in setFrom()
1022 void set(APValue::LValueBase B, unsigned I = 0, bool BInvalid = false) { in set()
1030 void setInvalid(APValue::LValueBase B, unsigned I = 0) { in setInvalid()
1095 void moveInto(APValue &V) const { in moveInto()
1096 V = APValue(getDecl(), isDerivedMember(), Path); in moveInto()
1098 void setFrom(const APValue &V) { in setFrom()
1174 static bool Evaluate(APValue &Result, EvalInfo &Info, const Expr *E);
1175 static bool EvaluateInPlace(APValue &Result, EvalInfo &Info,
1184 static bool EvaluateIntegerOrLValue(const Expr *E, APValue &Result,
1188 static bool EvaluateAtomic(const Expr *E, APValue &Result, EvalInfo &Info);
1189 static bool EvaluateAsRValue(EvalInfo &Info, const Expr *E, APValue &Result);
1206 APValue Val; in describeCall()
1221 const APValue &Arg = Frame->Arguments[ArgIndex]; in describeCall()
1235 APValue Scratch; in EvaluateIgnoredValue()
1256 static bool IsGlobalLValue(APValue::LValueBase B) { in IsGlobalLValue()
1312 static void NoteLValueLocation(EvalInfo &Info, APValue::LValueBase Base) { in NoteLValueLocation()
1329 APValue::LValueBase Base = LVal.getLValueBase(); in CheckLValueConstantExpression()
1428 QualType Type, const APValue &Value) { in CheckConstantExpression()
1515 static bool EvalPointerValueAsBool(const APValue &Value, bool &Result) { in EvalPointerValueAsBool()
1530 static bool HandleConversionToBool(const APValue &Val, bool &Result) { in HandleConversionToBool()
1532 case APValue::Uninitialized: in HandleConversionToBool()
1534 case APValue::Int: in HandleConversionToBool()
1537 case APValue::Float: in HandleConversionToBool()
1540 case APValue::ComplexInt: in HandleConversionToBool()
1544 case APValue::ComplexFloat: in HandleConversionToBool()
1548 case APValue::LValue: in HandleConversionToBool()
1550 case APValue::MemberPointer: in HandleConversionToBool()
1553 case APValue::Vector: in HandleConversionToBool()
1554 case APValue::Array: in HandleConversionToBool()
1555 case APValue::Struct: in HandleConversionToBool()
1556 case APValue::Union: in HandleConversionToBool()
1557 case APValue::AddrLabelDiff: in HandleConversionToBool()
1567 APValue Val; in EvaluateAsBooleanCondition()
1632 APValue &Value, const FieldDecl *FD) { in truncateBitfieldValue()
1654 APValue SVal; in EvalAndBitcastToAPInt()
1673 APValue &Elt = SVal.getVectorElt(i); in EvalAndBitcastToAPInt()
2029 APValue *&Result) { in evaluateVarDeclInit()
2138 APValue &Result) { in expandStringLiteral()
2147 Result = APValue(APValue::UninitArray(), in expandStringLiteral()
2152 Result.getArrayFiller() = APValue(Value); in expandStringLiteral()
2155 Result.getArrayInitializedElt(I) = APValue(Value); in expandStringLiteral()
2160 static void expandArray(APValue &Array, unsigned Index) { in expandArray()
2170 APValue NewValue(APValue::UninitArray(), NewElts, Size); in expandArray()
2251 APValue *Value;
2256 CompleteObject(APValue *Value, QualType Type) in CompleteObject()
2282 APValue *O = Obj.Value; in findSubobject()
2436 APValue &Result;
2442 bool found(APValue &Subobj, QualType SubobjType) { in found()
2447 Result = APValue(Value); in found()
2451 Result = APValue(Value); in found()
2454 bool foundString(APValue &Subobj, QualType SubobjType, uint64_t Character) { in foundString()
2455 Result = APValue(extractStringLiteralCharacter( in foundString()
2468 APValue &Result) { in extractSubobject()
2476 APValue &NewVal;
2492 bool found(APValue &Subobj, QualType SubobjType) { in found()
2516 bool foundString(APValue &Subobj, QualType SubobjType, uint64_t Character) { in foundString()
2528 APValue &NewVal) { in modifySubobject()
2624 APValue *BaseVal = nullptr; in findCompleteObject()
2796 const LValue &LVal, APValue &RVal) { in handleLValueToRValueConversion()
2812 APValue Lit; in handleLValueToRValueConversion()
2821 APValue Str(Base, CharUnits::Zero(), APValue::NoLValuePath(), 0); in handleLValueToRValueConversion()
2833 QualType LValType, APValue &Val) { in handleAssignment()
2857 const APValue &RHS;
2873 bool found(APValue &Subobj, QualType SubobjType) { in found()
2875 case APValue::Int: in found()
2877 case APValue::Float: in found()
2879 case APValue::ComplexInt: in found()
2880 case APValue::ComplexFloat: in found()
2884 case APValue::LValue: in found()
2917 bool foundPointer(APValue &Subobj, QualType SubobjType) { in foundPointer()
2942 bool foundString(APValue &Subobj, QualType SubobjType, uint64_t Character) { in foundString()
2954 BinaryOperatorKind Opcode, const APValue &RVal) { in handleCompoundAssignment()
2974 APValue *Old;
2988 bool found(APValue &Subobj, QualType SubobjType) { in found()
2997 case APValue::Int: in found()
2999 case APValue::Float: in found()
3001 case APValue::ComplexInt: in found()
3005 case APValue::ComplexFloat: in found()
3009 case APValue::LValue: in found()
3028 if (Old) *Old = APValue(Value); in found()
3066 if (Old) *Old = APValue(Value); in found()
3075 bool foundPointer(APValue &Subobj, QualType SubobjType) { in foundPointer()
3095 bool foundString(APValue &Subobj, QualType SubobjType, uint64_t Character) { in foundString()
3103 QualType LValType, bool IsIncrement, APValue *Old) { in handleIncDec()
3308 APValue &Val = Info.CurrentCall->createTemporary(VD, true); in EvaluateDecl()
3314 Val = APValue(); in EvaluateDecl()
3324 Val = APValue(); in EvaluateDecl()
3345 APValue &Value;
3786 typedef SmallVector<APValue, 8> ArgVector;
3810 EvalInfo &Info, APValue &Result, in HandleFunctionCall()
3835 APValue RHSValue; in HandleFunctionCall()
3860 EvalInfo &Info, APValue &Result) { in HandleConstructorCall()
3878 APValue RetVal; in HandleConstructorCall()
3911 Result = APValue(APValue::UninitStruct(), RD->getNumBases(), in HandleConstructorCall()
3927 APValue *Value = &Result; in HandleConstructorCall()
3949 Result = APValue(FD); in HandleConstructorCall()
3968 *Value = APValue(FD); in HandleConstructorCall()
3970 *Value = APValue(APValue::UninitStruct(), CD->getNumBases(), in HandleConstructorCall()
4010 bool DerivedSuccess(const APValue &V, const Expr *E) { in DerivedSuccess()
4137 APValue Result; in VisitBinaryOperator()
4181 if (APValue *Value = Info.CurrentCall->getTemporary(E)) in VisitOpaqueValueExpr()
4195 APValue Result; in VisitCallExpr()
4201 bool handleCallExpr(const CallExpr *E, APValue &Result, in handleCallExpr()
4310 APValue Val; in VisitMemberExpr()
4326 APValue Result; in VisitMemberExpr()
4337 APValue AtomicVal; in VisitCastExpr()
4351 APValue RVal; in VisitCastExpr()
4376 APValue RVal; in VisitUnaryPostIncDec()
4407 APValue ReturnValue; in VisitStmtExpr()
4444 bool Success(APValue::LValueBase B) { in Success()
4453 bool Success(const APValue &V, const Expr *E) { in Success()
4494 APValue RefValue; in VisitMemberExpr()
4649 APValue *V; in VisitVarDecl()
4676 APValue *Value; in VisitMaterializeTemporaryExpr()
4679 *Value = APValue(); in VisitMaterializeTemporaryExpr()
4693 *Value = APValue(); in VisitMaterializeTemporaryExpr()
4822 APValue RHS; in VisitCompoundAssignOperator()
4844 APValue NewVal; in VisitBinAssign()
4877 bool Success(const APValue &V, const Expr *E) { in Success()
5009 APValue Value; in VisitCastExpr()
5180 bool Success(const APValue &V, const Expr *E) { in Success()
5258 APValue &Result;
5261 RecordExprEvaluator(EvalInfo &info, const LValue &This, APValue &Result) in RecordExprEvaluator()
5264 bool Success(const APValue &V, const Expr *E) { in Success()
5289 const LValue &This, APValue &Result) { in HandleClassZeroInitialization()
5292 Result = APValue(APValue::UninitStruct(), CD ? CD->getNumBases() : 0, in HandleClassZeroInitialization()
5338 Result = APValue((const FieldDecl*)nullptr); in ZeroInitialization()
5345 Result = APValue(*I); in ZeroInitialization()
5368 APValue DerivedObject; in VisitCastExpr()
5375 APValue *Value = &DerivedObject; in VisitCastExpr()
5397 Result = APValue(Field); in VisitInitListExpr()
5422 Result = APValue(APValue::UninitStruct(), 0, in VisitInitListExpr()
5451 APValue &FieldVal = Result.getStructField(Field->getFieldIndex()); in VisitInitListExpr()
5531 Result = APValue(APValue::UninitStruct(), 0, 2); in VisitCXXStdInitializerListExpr()
5548 Result.getStructField(1) = APValue(APSInt(ArrayType->getSize())); in VisitCXXStdInitializerListExpr()
5559 APValue &Result, EvalInfo &Info) { in EvaluateRecord()
5623 APValue &Result;
5626 VectorExprEvaluator(EvalInfo &info, APValue &Result) in VectorExprEvaluator()
5629 bool Success(ArrayRef<APValue> V, const Expr *E) { in Success()
5632 Result = APValue(V.data(), V.size()); in Success()
5635 bool Success(const APValue &V, const Expr *E) { in Success()
5653 static bool EvaluateVector(const Expr* E, APValue& Result, EvalInfo &Info) { in EvaluateVector()
5667 APValue Val = APValue(); in VisitCastExpr()
5672 Val = APValue(std::move(IntResult)); in VisitCastExpr()
5677 Val = APValue(std::move(FloatResult)); in VisitCastExpr()
5683 SmallVector<APValue, 4> Elts(NElts, Val); in VisitCastExpr()
5695 SmallVector<APValue, 4> Elts; in VisitCastExpr()
5707 Elts.push_back(APValue(APFloat(Sem, Elt))); in VisitCastExpr()
5716 Elts.push_back(APValue(APSInt(Elt, EltTy->isSignedIntegerType()))); in VisitCastExpr()
5735 SmallVector<APValue, 4> Elements; in VisitInitListExpr()
5746 APValue v; in VisitInitListExpr()
5760 Elements.push_back(APValue(sInt)); in VisitInitListExpr()
5769 Elements.push_back(APValue(f)); in VisitInitListExpr()
5781 APValue ZeroElement; in ZeroInitialization()
5783 ZeroElement = APValue(Info.Ctx.MakeIntValue(0, EltTy)); in ZeroInitialization()
5786 APValue(APFloat::getZero(Info.Ctx.getFloatTypeSemantics(EltTy))); in ZeroInitialization()
5788 SmallVector<APValue, 4> Elements(VT->getNumElements(), ZeroElement); in ZeroInitialization()
5805 APValue &Result;
5808 ArrayExprEvaluator(EvalInfo &Info, const LValue &This, APValue &Result) in ArrayExprEvaluator()
5811 bool Success(const APValue &V, const Expr *E) { in Success()
5824 Result = APValue(APValue::UninitArray(), 0, in ZeroInitialization()
5842 APValue *Value, QualType Type);
5847 APValue &Result, EvalInfo &Info) { in EvaluateArray()
5863 APValue Val; in VisitInitListExpr()
5872 APValue Filler; in VisitInitListExpr()
5885 Result = APValue(APValue::UninitArray(), NumEltsToInit, NumElts); in VisitInitListExpr()
5927 APValue *Value, in VisitCXXConstructExpr()
5935 APValue Filler = in VisitCXXConstructExpr()
5937 : APValue(); in VisitCXXConstructExpr()
5939 *Value = APValue(APValue::UninitArray(), N, N); in VisitCXXConstructExpr()
6002 APValue &Result;
6004 IntExprEvaluator(EvalInfo &info, APValue &result) in IntExprEvaluator()
6007 bool Success(const llvm::APSInt &SI, const Expr *E, APValue &Result) { in Success()
6014 Result = APValue(SI); in Success()
6021 bool Success(const llvm::APInt &I, const Expr *E, APValue &Result) { in Success()
6026 Result = APValue(APSInt(I)); in Success()
6035 bool Success(uint64_t Value, const Expr *E, APValue &Result) { in Success()
6038 Result = APValue(Info.Ctx.MakeIntValue(Value, E->getType())); in Success()
6049 bool Success(const APValue &V, const Expr *E) { in Success()
6139 static bool EvaluateIntegerOrLValue(const Expr *E, APValue &Result, in EvaluateIntegerOrLValue()
6146 APValue Val; in EvaluateInteger()
6275 APValue &V = Result.Val; in EvaluateBuiltinConstantP()
6276 if (V.getKind() == APValue::Int) in EvaluateBuiltinConstantP()
6278 if (V.getKind() == APValue::LValue) in EvaluateBuiltinConstantP()
6298 static QualType getObjectType(APValue::LValueBase B) { in getObjectType()
6450 APValue RVal; in tryEvaluateBuiltinObjectSize()
6768 APValue Char; in VisitCallExpr()
6882 APValue Val;
6925 APValue &FinalResult;
6928 DataRecursiveIntBinOpEvaluator(IntExprEvaluator &IntEval, APValue &Result) in DataRecursiveIntBinOpEvaluator()
6955 bool Success(uint64_t Value, const Expr *E, APValue &Result) { in Success()
6958 bool Success(const APSInt &Value, const Expr *E, APValue &Result) { in Success()
6977 const BinaryOperator *E, APValue &Result);
6982 Result.Val = APValue(); in EvaluateExpr()
7044 const BinaryOperator *E, APValue &Result) { in VisitBinOp()
7082 const APValue &LHSVal = LHSResult.Val; in VisitBinOp()
7083 const APValue &RHSVal = RHSResult.Val; in VisitBinOp()
7123 Result = APValue(LHSAddrExpr, RHSAddrExpr); in VisitBinOp()
7321 return Success(APValue(LHSAddrExpr, RHSAddrExpr), E); in VisitBinaryOperator()
7906 bool Success(const APValue &V, const Expr *e) { in Success()
8136 bool Success(const APValue &V, const Expr *e) { in Success()
8619 APValue &Result;
8621 AtomicExprEvaluator(EvalInfo &Info, APValue &Result) in AtomicExprEvaluator()
8624 bool Success(const APValue &V, const Expr *E) { in Success()
8646 static bool EvaluateAtomic(const Expr *E, APValue &Result, EvalInfo &Info) { in EvaluateAtomic()
8662 bool Success(const APValue &V, const Expr *e) { return true; } in Success()
8696 static bool Evaluate(APValue &Result, EvalInfo &Info, const Expr *E) { in Evaluate()
8720 Result = APValue(F); in Evaluate()
8735 APValue &Value = Info.CurrentCall->createTemporary(E, false); in Evaluate()
8742 APValue &Value = Info.CurrentCall->createTemporary(E, false); in Evaluate()
8769 static bool EvaluateInPlace(APValue &Result, EvalInfo &Info, const LValue &This, in EvaluateInPlace()
8791 static bool EvaluateAsRValue(EvalInfo &Info, const Expr *E, APValue &Result) { in EvaluateAsRValue()
8817 Result.Val = APValue(APSInt(L->getValue(), in FastEvaluateAsRValue()
8896 bool Expr::EvaluateAsInitializer(APValue &Value, const ASTContext &Ctx, in EvaluateAsInitializer()
9410 APValue Result; in EvaluateCPlusPlus11IntegralConstantExpr()
9456 bool Expr::isCXX11ConstantExpr(const ASTContext &Ctx, APValue *Result, in isCXX11ConstantExpr()
9468 APValue Scratch; in isCXX11ConstantExpr()
9482 bool Expr::EvaluateWithSubstitution(APValue &Value, ASTContext &Ctx, in EvaluateWithSubstitution()
9494 ArgValues[I - Args.begin()] = APValue(); in EvaluateWithSubstitution()
9533 APValue Scratch; in isPotentialConstantExpr()
9565 APValue ResultScratch; in isPotentialConstantExprUnevaluated()