Home | History | Annotate | Download | only in AST

Lines Matching refs:Evaluate

434   /// evaluate the expression regardless of what the RHS is, but C only allows
453 /// we will evaluate.
481 /// Evaluate as a constant expression. Stop if we find that the expression
485 /// Evaluate as a potential constant expression. Keep going if we hit a
486 /// construct that we can't evaluate yet (because we don't yet know the
495 /// Evaluate the expression looking for integer overflow and similar
500 /// Evaluate in any way we know how. Don't worry about side-effects that
504 /// Evaluate as a constant expression. Stop if we find that the expression
511 /// Evaluate as a potential constant expression. Keep going if we hit a
512 /// construct that we can't evaluate yet (because we don't yet know the
520 /// Evaluate as a constant expression. Continue evaluating if we find a
737 /// that we can evaluate past it (such as signed overflow or floating-point
1174 static bool Evaluate(APValue &Result, EvalInfo &Info, const Expr *E);
1231 /// Evaluate an expression to see if it had side-effects, and discard its
1236 if (!Evaluate(Scratch, Info, E))
1568 if (!Evaluate(Val, Info, E))
1655 if (!Evaluate(SVal, Info, E))
2019 /// Try to evaluate the initializer for a variable declaration.
2069 // Never evaluate the initializer of a weak variable. We can't be sure that
2813 if (!Evaluate(Lit, Info, CLE->getInitializer()))
3134 /// HandleMemberPointerAccess - Evaluate a member access operation and build an
3302 // We don't need to evaluate the initializer for a static local.
3332 /// Evaluate a condition (either a variable declaration or an expression).
3354 /// Evaluate the body of a loop, and translate the result as appropriate.
3373 /// Evaluate a switch statement.
3378 // Evaluate the switch condition.
3412 // Search the switch body for the switch case and evaluate it from there.
3430 // Evaluate a statement.
3540 : Evaluate(Result.Value, Info, RetExpr)))
3562 // Evaluate the condition, as either a var decl or as an expression.
3751 // Can we evaluate this function call?
3789 /// EvaluateArgs - Evaluate the arguments to a function call.
3795 if (!Evaluate(ArgValues[I - Args.begin()], Info, *I)) {
3796 // If we're checking for a potential constant expression, evaluate all
3806 /// Evaluate a function call.
3856 /// Evaluate a constructor call.
3988 // If we're checking for a potential constant expression, evaluate all
4024 // Speculatively evaluate both arms.
4146 // Evaluate and cache the common expression. We treat it as a temporary,
4148 if (!Evaluate(Info.CurrentCall->createTemporary(E->getOpaqueValue(), false),
4249 // operator delete, we sometimes try to evaluate calls to conversion
4311 if (!Evaluate(Val, Info, E->getBase()))
4617 /// Evaluate an expression as an lvalue. This can be legitimately called on
4668 // If we passed any comma operators, evaluate their LHSs.
4827 Evaluate(RHS, this->Info, CAO->getRHS());
4831 if (!Evaluate(RHS, this->Info, CAO->getRHS()))
4848 Evaluate(NewVal, this->Info, E->getRHS());
4852 if (!Evaluate(NewVal, this->Info, E->getRHS()))
5369 if (!Evaluate(DerivedObject, Info, E->getSubExpr()))
5561 "can't evaluate expression as a record rvalue");
5610 /// Evaluate an expression of record type as a temporary.
5687 // Evaluate the operand into an APInt we can extract from.
5914 // If we get here, we have a trivial filler, which we can just evaluate
6131 /// EvaluateIntegerOrLValue - Evaluate an rvalue integral-typed expression, and
6186 /// EvaluateBuiltinClassifyType - Evaluate __builtin_classify_type the same way
6252 /// EvaluateBuiltinConstantP - Evaluate __builtin_constant_p as similarly to
6416 /// Tries to evaluate the __builtin_object_size for @p E. If successful, returns
6419 /// If @p WasError is non-null, this will report whether the failure to evaluate
6980 Result.Failed = !Evaluate(Result.Val, Info, E);
7001 // Ignore LHS but note if we could not evaluate it.
7010 // We were able to evaluate the LHS, see if we can get away with not
7019 // Since we weren't able to evaluate the left hand side, it
7024 // We can't evaluate the LHS; however, sometimes the result
7066 // We can't evaluate the LHS; however, sometimes the result
7561 /// VisitUnaryExprOrTypeTraitExpr - Evaluate a sizeof, alignof or vec_step with
7721 /// HandleCast - This is used to evaluate implicit or explicit casts where the
8632 return Evaluate(Result, Info, &VIE);
8640 return Evaluate(Result, Info, E->getSubExpr());
8696 static bool Evaluate(APValue &Result, EvalInfo &Info, const Expr *E) {
8697 // In C, function designators are not lvalues, but we evaluate them as if they
8766 /// EvaluateInPlace - Evaluate an expression in-place in an APValue. In some
8777 // Evaluate arrays and record types in-place, so that later initializers can
8786 return Evaluate(Result, Info, E);
8789 /// EvaluateAsRValue - Try to evaluate this expression, performing an implicit
8798 if (!::Evaluate(Result, Info, E))
8951 assert(Result && "Could not evaluate expression");
8952 assert(EvalResult.Val.isInt() && "Expression did not evaluate to integer");
9265 // we don't evaluate one.
9400 /// Evaluate an expression as a C++11 integral constant expression.
9492 !Evaluate(ArgValues[I - Args.begin()], Info, *I))
9502 return Evaluate(Value, Info, this) && !Info.EvalStatus.HasSideEffects;
9535 // Evaluate the call as a constant initializer, to allow the construction
9566 Evaluate(ResultScratch, Info, E);