Lines Matching defs:Eval
1378 if (EvaluatedStmt *Eval = Init.dyn_cast<EvaluatedStmt *>()) {
1379 Eval->~EvaluatedStmt();
1380 getASTContext().Deallocate(Eval);
1417 EvaluatedStmt *Eval = Init.dyn_cast<EvaluatedStmt *>();
1418 if (!Eval) {
1420 Eval = new (getASTContext()) EvaluatedStmt;
1421 Eval->Value = S;
1422 Init = Eval;
1424 return Eval;
1434 EvaluatedStmt *Eval = ensureEvaluatedStmt();
1439 if (Eval->WasEvaluated)
1440 return Eval->Evaluated.isUninit() ? 0 : &Eval->Evaluated;
1442 const Expr *Init = cast<Expr>(Eval->Value);
1445 if (Eval->IsEvaluating) {
1447 Eval->CheckedICE = true;
1448 Eval->IsICE = false;
1452 Eval->IsEvaluating = true;
1454 bool Result = Init->EvaluateAsInitializer(Eval->Evaluated, getASTContext(),
1459 Eval->Evaluated = APValue();
1461 Eval->IsEvaluating = false;
1462 Eval->WasEvaluated = true;
1466 if (getASTContext().getLangOpts().CPlusPlus0x && !Eval->CheckedICE) {
1467 Eval->CheckedICE = true;
1468 Eval->IsICE = Result && Notes.empty();
1471 return Result ? &Eval->Evaluated : 0;
1479 EvaluatedStmt *Eval = ensureEvaluatedStmt();
1480 if (Eval->CheckedICE)
1483 return Eval->IsICE;
1485 const Expr *Init = cast<Expr>(Eval->Value);
1493 return Eval->IsICE;
1500 if (Eval->CheckingICE)
1502 Eval->CheckingICE = true;
1504 Eval->IsICE = Init->isIntegerConstantExpr(getASTContext());
1505 Eval->CheckingICE = false;
1506 Eval->CheckedICE = true;
1507 return Eval->IsICE;