Lines Matching defs:Cond

564                   ConditionResult Cond,
567 if (Cond.isInvalid())
568 Cond = ConditionResult(
575 Expr *CondExpr = Cond.get().second;
585 return BuildIfStmt(IfLoc, IsConstexpr, InitStmt, Cond, thenStmt, ElseLoc,
590 Stmt *InitStmt, ConditionResult Cond,
593 if (Cond.isInvalid())
596 if (IsConstexpr || isa<ObjCAvailabilityCheckExpr>(Cond.get().second))
599 return IfStmt::Create(Context, IfLoc, IsConstexpr, InitStmt, Cond.get().first,
600 Cond.get().second, thenStmt, ElseLoc, elseStmt);
662 ExprResult Sema::CheckSwitchCondition(SourceLocation SwitchLoc, Expr *Cond) {
664 Expr *Cond;
667 SwitchConvertDiagnoser(Expr *Cond)
669 Cond(Cond) {}
679 << T << Cond->getSourceRange();
708 } SwitchDiagnoser(Cond);
711 PerformContextualImplicitConversion(SwitchLoc, Cond, SwitchDiagnoser);
717 Cond = CondResult.get();
718 if (!Cond->isTypeDependent() &&
719 !Cond->getType()->isIntegralOrEnumerationType())
723 return UsualUnaryConversions(Cond);
727 Stmt *InitStmt, ConditionResult Cond) {
728 Expr *CondExpr = Cond.get().second;
729 assert((Cond.isInvalid() || CondExpr) && "switch with no condition");
749 auto *SS = SwitchStmt::Create(Context, InitStmt, Cond.get().first, CondExpr);
820 static void checkEnumTypesInSwitchStmt(Sema &S, const Expr *Cond,
822 QualType CondType = Cond->getType();
842 << CondType << CaseType << Cond->getSourceRange()
1316 StmtResult Sema::ActOnWhileStmt(SourceLocation WhileLoc, ConditionResult Cond,
1318 if (Cond.isInvalid())
1321 auto CondVal = Cond.get();
1338 Expr *Cond, SourceLocation CondRParen) {
1339 assert(Cond && "ActOnDoStmt(): missing expression");
1341 CheckBreakContinueBinding(Cond);
1342 ExprResult CondResult = CheckBooleanCondition(DoLoc, Cond);
1345 Cond = CondResult.get();
1347 CondResult = ActOnFinishFullExpr(Cond, DoLoc, /*DiscardedValue*/ false);
1350 Cond = CondResult.get();
1353 if (Cond && !getLangOpts().C99 && !getLangOpts().CPlusPlus &&
1354 !Diags.isIgnored(diag::warn_comma_operator, Cond->getExprLoc()))
1355 CommaVisitor(*this).Visit(Cond);
1357 return new (Context) DoStmt(Body, Cond, DoLoc, WhileLoc, CondRParen);
1648 if (const Stmt *Cond = S->getCond())
1649 Visit(Cond);
2156 /*Cond=*/nullptr, /*Inc=*/nullptr, DS, RParenLoc, Kind);
2359 Stmt *Begin, Stmt *End, Expr *Cond,
2388 ExprResult NotEqExpr = Cond, IncrExpr = Inc;