Lines Matching defs:Eval
1954 if (EvaluatedStmt *Eval = Init.dyn_cast<EvaluatedStmt *>()) {
1955 Eval->~EvaluatedStmt();
1956 getASTContext().Deallocate(Eval);
1993 EvaluatedStmt *Eval = Init.dyn_cast<EvaluatedStmt *>();
1994 if (!Eval) {
2000 Eval = new (getASTContext()) EvaluatedStmt;
2001 Eval->Value = S;
2002 Init = Eval;
2004 return Eval;
2021 EvaluatedStmt *Eval = ensureEvaluatedStmt();
2026 if (Eval->WasEvaluated)
2027 return Eval->Evaluated.isUninit() ? nullptr : &Eval->Evaluated;
2029 const Expr *Init = cast<Expr>(Eval->Value);
2032 if (Eval->IsEvaluating) {
2034 Eval->CheckedICE = true;
2035 Eval->IsICE = false;
2039 Eval->IsEvaluating = true;
2041 bool Result = Init->EvaluateAsInitializer(Eval->Evaluated, getASTContext(),
2048 Eval->Evaluated = APValue();
2049 else if (Eval->Evaluated.needsCleanup())
2050 getASTContext().AddDeallocation(DestroyAPValue, &Eval->Evaluated);
2052 Eval->IsEvaluating = false;
2053 Eval->WasEvaluated = true;
2057 if (getASTContext().getLangOpts().CPlusPlus11 && !Eval->CheckedICE) {
2058 Eval->CheckedICE = true;
2059 Eval->IsICE = Result && Notes.empty();
2062 return Result ? &Eval->Evaluated : nullptr;
2070 EvaluatedStmt *Eval = ensureEvaluatedStmt();
2071 if (Eval->CheckedICE)
2074 return Eval->IsICE;
2076 const Expr *Init = cast<Expr>(Eval->Value);
2084 return Eval->IsICE;
2091 if (Eval->CheckingICE)
2093 Eval->CheckingICE = true;
2095 Eval->IsICE = Init->isIntegerConstantExpr(getASTContext());
2096 Eval->CheckingICE = false;
2097 Eval->CheckedICE = true;
2098 return Eval->IsICE;