Lines Matching refs:Eval
2060 if (auto *Eval = Init.dyn_cast<EvaluatedStmt *>()) { in setInit() local
2061 Eval->~EvaluatedStmt(); in setInit()
2062 getASTContext().Deallocate(Eval); in setInit()
2099 auto *Eval = Init.dyn_cast<EvaluatedStmt *>(); in ensureEvaluatedStmt() local
2100 if (!Eval) { in ensureEvaluatedStmt()
2106 Eval = new (getASTContext()) EvaluatedStmt; in ensureEvaluatedStmt()
2107 Eval->Value = S; in ensureEvaluatedStmt()
2108 Init = Eval; in ensureEvaluatedStmt()
2110 return Eval; in ensureEvaluatedStmt()
2127 EvaluatedStmt *Eval = ensureEvaluatedStmt(); in evaluateValue() local
2132 if (Eval->WasEvaluated) in evaluateValue()
2133 return Eval->Evaluated.isUninit() ? nullptr : &Eval->Evaluated; in evaluateValue()
2135 const auto *Init = cast<Expr>(Eval->Value); in evaluateValue()
2138 if (Eval->IsEvaluating) { in evaluateValue()
2140 Eval->CheckedICE = true; in evaluateValue()
2141 Eval->IsICE = false; in evaluateValue()
2145 Eval->IsEvaluating = true; in evaluateValue()
2147 bool Result = Init->EvaluateAsInitializer(Eval->Evaluated, getASTContext(), in evaluateValue()
2154 Eval->Evaluated = APValue(); in evaluateValue()
2155 else if (Eval->Evaluated.needsCleanup()) in evaluateValue()
2156 getASTContext().AddDeallocation(DestroyAPValue, &Eval->Evaluated); in evaluateValue()
2158 Eval->IsEvaluating = false; in evaluateValue()
2159 Eval->WasEvaluated = true; in evaluateValue()
2163 if (getASTContext().getLangOpts().CPlusPlus11 && !Eval->CheckedICE) { in evaluateValue()
2164 Eval->CheckedICE = true; in evaluateValue()
2165 Eval->IsICE = Result && Notes.empty(); in evaluateValue()
2168 return Result ? &Eval->Evaluated : nullptr; in evaluateValue()
2176 EvaluatedStmt *Eval = ensureEvaluatedStmt(); in checkInitIsICE() local
2177 if (Eval->CheckedICE) in checkInitIsICE()
2180 return Eval->IsICE; in checkInitIsICE()
2182 const auto *Init = cast<Expr>(Eval->Value); in checkInitIsICE()
2190 return Eval->IsICE; in checkInitIsICE()
2197 if (Eval->CheckingICE) in checkInitIsICE()
2199 Eval->CheckingICE = true; in checkInitIsICE()
2201 Eval->IsICE = Init->isIntegerConstantExpr(getASTContext()); in checkInitIsICE()
2202 Eval->CheckingICE = false; in checkInitIsICE()
2203 Eval->CheckedICE = true; in checkInitIsICE()
2204 return Eval->IsICE; in checkInitIsICE()