Lines Matching refs:Eval
2363 if (auto *Eval = Init.dyn_cast<EvaluatedStmt *>()) { in setInit() local
2364 Eval->~EvaluatedStmt(); in setInit()
2365 getASTContext().Deallocate(Eval); in setInit()
2437 auto *Eval = Init.dyn_cast<EvaluatedStmt *>(); in ensureEvaluatedStmt() local
2438 if (!Eval) { in ensureEvaluatedStmt()
2443 Eval = new (getASTContext()) EvaluatedStmt; in ensureEvaluatedStmt()
2444 Eval->Value = Init.get<Stmt *>(); in ensureEvaluatedStmt()
2445 Init = Eval; in ensureEvaluatedStmt()
2447 return Eval; in ensureEvaluatedStmt()
2461 EvaluatedStmt *Eval = ensureEvaluatedStmt(); in evaluateValueImpl() local
2463 const auto *Init = cast<Expr>(Eval->Value); in evaluateValueImpl()
2469 if (Eval->WasEvaluated) in evaluateValueImpl()
2470 return Eval->Evaluated.isAbsent() ? nullptr : &Eval->Evaluated; in evaluateValueImpl()
2472 if (Eval->IsEvaluating) { in evaluateValueImpl()
2477 Eval->IsEvaluating = true; in evaluateValueImpl()
2480 bool Result = Init->EvaluateAsInitializer(Eval->Evaluated, Ctx, this, Notes, in evaluateValueImpl()
2494 Eval->Evaluated = APValue(); in evaluateValueImpl()
2495 else if (Eval->Evaluated.needsCleanup()) in evaluateValueImpl()
2496 Ctx.addDestruction(&Eval->Evaluated); in evaluateValueImpl()
2498 Eval->IsEvaluating = false; in evaluateValueImpl()
2499 Eval->WasEvaluated = true; in evaluateValueImpl()
2501 return Result ? &Eval->Evaluated : nullptr; in evaluateValueImpl()
2505 if (EvaluatedStmt *Eval = getEvaluatedStmt()) in getEvaluatedValue() local
2506 if (Eval->WasEvaluated) in getEvaluatedValue()
2507 return &Eval->Evaluated; in getEvaluatedValue()
2516 EvaluatedStmt *Eval = ensureEvaluatedStmt(); in hasICEInitializer() local
2517 if (!Eval->CheckedForICEInit) { in hasICEInitializer()
2518 Eval->CheckedForICEInit = true; in hasICEInitializer()
2519 Eval->HasICEInit = Init->isIntegerConstantExpr(Context); in hasICEInitializer()
2521 return Eval->HasICEInit; in hasICEInitializer()
2531 if (EvaluatedStmt *Eval = getEvaluatedStmt()) in hasConstantInitialization() local
2532 return Eval->HasConstantInitialization; in hasConstantInitialization()
2539 EvaluatedStmt *Eval = ensureEvaluatedStmt(); in checkForConstantInitialization() local
2543 assert(!Eval->WasEvaluated && in checkForConstantInitialization()
2547 assert(!cast<Expr>(Eval->Value)->isValueDependent()); in checkForConstantInitialization()
2550 Eval->HasConstantInitialization = in checkForConstantInitialization()
2555 if (!Eval->HasConstantInitialization) in checkForConstantInitialization()
2556 Eval->WasEvaluated = false; in checkForConstantInitialization()
2558 return Eval->HasConstantInitialization; in checkForConstantInitialization()
2719 if (EvaluatedStmt *Eval = getEvaluatedStmt()) in needsDestruction() local
2720 if (Eval->HasConstantDestruction) in needsDestruction()