Lines Matching refs:Eval
2385 if (auto *Eval = getEvaluatedStmt()) in hasInit() local
2386 return Eval->Value.isValid(); in hasInit()
2398 auto *Eval = getEvaluatedStmt(); in getInit() local
2400 return cast<Expr>(Eval->Value.get( in getInit()
2401 Eval->Value.isOffset() ? getASTContext().getExternalSource() : nullptr)); in getInit()
2443 if (auto *Eval = Init.dyn_cast<EvaluatedStmt *>()) { in setInit() local
2444 Eval->~EvaluatedStmt(); in setInit()
2445 getASTContext().Deallocate(Eval); in setInit()
2523 auto *Eval = Init.dyn_cast<EvaluatedStmt *>(); in ensureEvaluatedStmt() local
2524 if (!Eval) { in ensureEvaluatedStmt()
2529 Eval = new (getASTContext()) EvaluatedStmt; in ensureEvaluatedStmt()
2530 Eval->Value = Init.get<Stmt *>(); in ensureEvaluatedStmt()
2531 Init = Eval; in ensureEvaluatedStmt()
2533 return Eval; in ensureEvaluatedStmt()
2547 EvaluatedStmt *Eval = ensureEvaluatedStmt(); in evaluateValueImpl() local
2555 if (Eval->WasEvaluated) in evaluateValueImpl()
2556 return Eval->Evaluated.isAbsent() ? nullptr : &Eval->Evaluated; in evaluateValueImpl()
2558 if (Eval->IsEvaluating) { in evaluateValueImpl()
2563 Eval->IsEvaluating = true; in evaluateValueImpl()
2566 bool Result = Init->EvaluateAsInitializer(Eval->Evaluated, Ctx, this, Notes, in evaluateValueImpl()
2583 Eval->Evaluated = APValue(); in evaluateValueImpl()
2584 else if (Eval->Evaluated.needsCleanup()) in evaluateValueImpl()
2585 Ctx.addDestruction(&Eval->Evaluated); in evaluateValueImpl()
2587 Eval->IsEvaluating = false; in evaluateValueImpl()
2588 Eval->WasEvaluated = true; in evaluateValueImpl()
2590 return Result ? &Eval->Evaluated : nullptr; in evaluateValueImpl()
2594 if (EvaluatedStmt *Eval = getEvaluatedStmt()) in getEvaluatedValue() local
2595 if (Eval->WasEvaluated) in getEvaluatedValue()
2596 return &Eval->Evaluated; in getEvaluatedValue()
2605 EvaluatedStmt *Eval = ensureEvaluatedStmt(); in hasICEInitializer() local
2606 if (!Eval->CheckedForICEInit) { in hasICEInitializer()
2607 Eval->CheckedForICEInit = true; in hasICEInitializer()
2608 Eval->HasICEInit = Init->isIntegerConstantExpr(Context); in hasICEInitializer()
2610 return Eval->HasICEInit; in hasICEInitializer()
2623 if (EvaluatedStmt *Eval = getEvaluatedStmt()) in hasConstantInitialization() local
2624 return Eval->HasConstantInitialization; in hasConstantInitialization()
2631 EvaluatedStmt *Eval = ensureEvaluatedStmt(); in checkForConstantInitialization() local
2635 assert(!Eval->WasEvaluated && in checkForConstantInitialization()
2644 Eval->HasConstantInitialization = in checkForConstantInitialization()
2649 if (!Eval->HasConstantInitialization) in checkForConstantInitialization()
2650 Eval->WasEvaluated = false; in checkForConstantInitialization()
2652 return Eval->HasConstantInitialization; in checkForConstantInitialization()
2813 if (EvaluatedStmt *Eval = getEvaluatedStmt()) in needsDestruction() local
2814 if (Eval->HasConstantDestruction) in needsDestruction()