reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/Sema/SemaOpenMP.cpp
 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());