reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
5482 ExprResult Val = SemaRef.PerformOpenMPImplicitIntegerConversion( 5500 bool IsConstant = NewStep->isIntegerConstantExpr(Result, SemaRef.Context); 5515 SemaRef.Diag(NewStep->getExprLoc(), 5518 SemaRef.Diag(ConditionLoc, 5525 SemaRef.CreateBuiltinUnaryOp(NewStep->getExprLoc(), UO_Minus, NewStep) 5631 LoopCounterRefChecker LoopStmtChecker(SemaRef, Stack, LCDecl, IsInitializer, 5651 SemaRef.Diag(DefaultLoc, diag::err_omp_loop_not_canonical_init); 5685 SemaRef.Diag(S->getBeginLoc(), 5690 buildDeclRefExpr(SemaRef, Var, 5716 if (dependent() || SemaRef.CurContext->isDependentContext()) 5719 SemaRef.Diag(S->getBeginLoc(), diag::err_omp_loop_not_canonical_init) 5754 bool IneqCondIsCanonical = SemaRef.getLangOpts().OpenMP >= 50; 5756 SemaRef.Diag(DefaultLoc, diag::err_omp_loop_not_canonical_cond) 5810 if (dependent() || SemaRef.CurContext->isDependentContext()) 5812 SemaRef.Diag(CondLoc, diag::err_omp_loop_not_canonical_cond) 5841 if (dependent() || SemaRef.CurContext->isDependentContext()) 5843 SemaRef.Diag(RHS->getBeginLoc(), diag::err_omp_loop_not_canonical_incr) 5863 SemaRef.Diag(DefaultLoc, diag::err_omp_loop_not_canonical_incr) << LCDecl; 5875 return setStep(SemaRef 5899 return setStep(SemaRef 5919 if (dependent() || SemaRef.CurContext->isDependentContext()) 5921 SemaRef.Diag(S->getBeginLoc(), diag::err_omp_loop_not_canonical_incr) 5951 SemaRef.getLangOpts().CPlusPlus) { 5965 SemaRef.ActOnParenExpr(DefaultLoc, DefaultLoc, IS.MinValue); 5969 ExprResult LBMinVal = SemaRef.BuildBinOp(S, DefaultLoc, BO_Assign, 5975 SemaRef.BuildBinOp(S, DefaultLoc, BO_Comma, LBMinVal.get(), LBVal); 5979 LBMinVal = SemaRef.ActOnParenExpr(DefaultLoc, DefaultLoc, LBMinVal.get()); 5985 SemaRef.ActOnParenExpr(DefaultLoc, DefaultLoc, IS.MaxValue); 5989 ExprResult LBMaxVal = SemaRef.BuildBinOp(S, DefaultLoc, BO_Assign, 5995 SemaRef.BuildBinOp(S, DefaultLoc, BO_Comma, LBMaxVal.get(), LBVal); 5999 LBMaxVal = SemaRef.ActOnParenExpr(DefaultLoc, DefaultLoc, LBMaxVal.get()); 6003 Expr *LBMin = tryBuildCapture(SemaRef, LBMinVal.get(), Captures).get(); 6004 Expr *LBMax = tryBuildCapture(SemaRef, LBMaxVal.get(), Captures).get(); 6009 SemaRef.BuildBinOp(S, DefaultLoc, BO_LT, LBMin, LBMax); 6013 tryBuildCapture(SemaRef, MinLessMaxRes.get(), Captures).get(); 6019 ExprResult MinLB = SemaRef.ActOnConditionalOp(DefaultLoc, DefaultLoc, 6027 ExprResult MaxLB = SemaRef.ActOnConditionalOp(DefaultLoc, DefaultLoc, 6045 SemaRef.ActOnParenExpr(DefaultLoc, DefaultLoc, IS.MinValue); 6049 ExprResult UBMinVal = SemaRef.BuildBinOp(S, DefaultLoc, BO_Assign, 6055 SemaRef.BuildBinOp(S, DefaultLoc, BO_Comma, UBMinVal.get(), UBVal); 6059 UBMinVal = SemaRef.ActOnParenExpr(DefaultLoc, DefaultLoc, UBMinVal.get()); 6065 SemaRef.ActOnParenExpr(DefaultLoc, DefaultLoc, IS.MaxValue); 6069 ExprResult UBMaxVal = SemaRef.BuildBinOp(S, DefaultLoc, BO_Assign, 6075 SemaRef.BuildBinOp(S, DefaultLoc, BO_Comma, UBMaxVal.get(), UBVal); 6079 UBMaxVal = SemaRef.ActOnParenExpr(DefaultLoc, DefaultLoc, UBMaxVal.get()); 6083 Expr *UBMin = tryBuildCapture(SemaRef, UBMinVal.get(), Captures).get(); 6084 Expr *UBMax = tryBuildCapture(SemaRef, UBMaxVal.get(), Captures).get(); 6089 SemaRef.BuildBinOp(S, DefaultLoc, BO_GT, UBMin, UBMax); 6093 tryBuildCapture(SemaRef, MinGreaterMaxRes.get(), Captures).get(); 6099 ExprResult MaxUB = SemaRef.ActOnConditionalOp( 6107 ExprResult MinUB = SemaRef.ActOnConditionalOp( 6117 Expr *Upper = tryBuildCapture(SemaRef, UBExpr, Captures).get(); 6118 Expr *Lower = tryBuildCapture(SemaRef, LBExpr, Captures).get(); 6122 Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Sub, Upper, Lower); 6127 SemaRef.Diag(Upper->getBeginLoc(), diag::err_omp_loop_diff_cxx) 6138 Diff = SemaRef.BuildBinOp( 6140 SemaRef.ActOnIntegerConstant(SourceLocation(), 1).get()); 6145 ExprResult NewStep = tryBuildCapture(SemaRef, Step, Captures); 6148 Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Add, Diff.get(), NewStep.get()); 6153 Diff = SemaRef.ActOnParenExpr(DefaultLoc, DefaultLoc, Diff.get()); 6158 Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Div, Diff.get(), NewStep.get()); 6164 ASTContext &C = SemaRef.Context; 6173 if (!SemaRef.Context.hasSameType(Diff.get()->getType(), Type)) { 6174 Diff = SemaRef.PerformImplicitConversion( 6185 SemaRef.Diag(DefaultLoc, diag::warn_omp_loop_64_bit_var) 6191 if (!SemaRef.Context.hasSameType(Diff.get()->getType(), NewType)) { 6192 Diff = SemaRef.PerformImplicitConversion(Diff.get(), NewType, 6220 LBNonRect ? LBExpr : tryBuildCapture(SemaRef, LBExpr, Captures).get(); 6222 UBNonRect ? UBExpr : tryBuildCapture(SemaRef, UBExpr, Captures).get(); 6235 Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Sub, Upper, Lower); 6241 Diff = SemaRef.BuildBinOp( 6243 SemaRef.ActOnIntegerConstant(SourceLocation(), 1).get()); 6248 ExprResult NewStep = tryBuildCapture(SemaRef, Step, Captures); 6253 Diff = SemaRef.ActOnParenExpr(DefaultLoc, DefaultLoc, Diff.get()); 6258 Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Div, Diff.get(), NewStep.get()); 6264 Diff = SemaRef.ActOnParenExpr(DefaultLoc, DefaultLoc, Diff.get()); 6268 Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Mul, Diff.get(), NewStep.get()); 6274 !SemaRef.Context.hasSameType(Diff.get()->getType(), VarType)) { 6275 Diff = SemaRef.PerformImplicitConversion( 6278 !SemaRef.Context.hasSameType( 6280 SemaRef.Context.getUnsignedPointerDiffType())) { 6281 Diff = SemaRef.PerformImplicitConversion( 6282 Diff.get(), SemaRef.Context.getUnsignedPointerDiffType(), 6289 Diff = SemaRef.ActOnParenExpr(DefaultLoc, DefaultLoc, Diff.get()); 6296 Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Add, Lower, Diff.get()); 6299 Diff = SemaRef.ActOnFinishFullExpr(Diff.get(), /*DiscardedValue*/ false); 6306 Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Sub, Upper, Diff.get()); 6309 Diff = SemaRef.ActOnFinishFullExpr(Diff.get(), /*DiscardedValue*/ false); 6332 return SemaRef.PerformImplicitConversion( 6333 SemaRef.ActOnIntegerConstant(SourceLocation(), 1).get(), 6334 SemaRef.Context.BoolTy, /*Action=*/Sema::AA_Casting, 6338 Sema::TentativeAnalysisScope Trap(SemaRef); 6340 ExprResult NewLB = tryBuildCapture(SemaRef, LB, Captures); 6341 ExprResult NewUB = tryBuildCapture(SemaRef, UB, Captures); 6346 SemaRef.BuildBinOp(S, DefaultLoc, 6352 if (!SemaRef.Context.hasSameUnqualifiedType(CondExpr.get()->getType(), 6353 SemaRef.Context.BoolTy)) 6354 CondExpr = SemaRef.PerformImplicitConversion( 6355 CondExpr.get(), SemaRef.Context.BoolTy, /*Action=*/Sema::AA_Casting, 6369 VD = SemaRef.isOpenMPCapturedDecl(LCDecl); 6371 SemaRef, VD, VD->getType().getNonReferenceType(), DefaultLoc); 6387 SemaRef, DefaultLoc, Type, LCDecl->getName(), 6390 ? buildDeclRefExpr(SemaRef, cast<VarDecl>(LCDecl), Type, DefaultLoc) 6394 return buildDeclRefExpr(SemaRef, PrivateVar, Type, DefaultLoc); 6409 Expr *Cnt = SemaRef.DefaultLvalueConversion(Counter).get(); 6416 Cnt = SemaRef.BuildBinOp(S, Loc, BOK, Cnt, Inc).get(); 6423 SemaRef.getLangOpts().CPlusPlus) { 6427 : tryBuildCapture(SemaRef, UB, Captures).get(); 6429 ? tryBuildCapture(SemaRef, LB, Captures).get() 6434 Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Sub, Upper, Lower); 6439 SemaRef.Diag(Upper->getBeginLoc(), diag::err_omp_loop_diff_cxx) 6449 Diff = SemaRef.ActOnParenExpr(DefaultLoc, DefaultLoc, Diff.get()); 6453 ExprResult NewStep = tryBuildCapture(SemaRef, Step, Captures); 6457 Diff = SemaRef.BuildBinOp(S, DefaultLoc, BO_Div, Diff.get(), NewStep.get());