reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
2353 if (Eval->WasEvaluated) 2354 return Eval->Evaluated.isAbsent() ? nullptr : &Eval->Evaluated; 2354 return Eval->Evaluated.isAbsent() ? nullptr : &Eval->Evaluated; 2356 const auto *Init = cast<Expr>(Eval->Value); 2359 if (Eval->IsEvaluating) { 2361 Eval->CheckedICE = true; 2362 Eval->IsICE = false; 2366 Eval->IsEvaluating = true; 2368 bool Result = Init->EvaluateAsInitializer(Eval->Evaluated, getASTContext(), 2375 Eval->Evaluated = APValue(); 2376 else if (Eval->Evaluated.needsCleanup()) 2377 getASTContext().addDestruction(&Eval->Evaluated); 2379 Eval->IsEvaluating = false; 2380 Eval->WasEvaluated = true; 2384 if (getASTContext().getLangOpts().CPlusPlus11 && !Eval->CheckedICE) { 2385 Eval->CheckedICE = true; 2386 Eval->IsICE = Result && Notes.empty(); 2389 return Result ? &Eval->Evaluated : nullptr;