reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
13060 ASTContext &Context = S.Context; 13163 auto Res = getPrivateItem(S, SimpleRefExpr, ELoc, ERange, 13171 S, ELoc, ERange, Stack->getCurScope(), ReductionIdScopeSpec, 13174 if (S.CurContext->isDependentContext() && 13207 if (S.RequireCompleteType(ELoc, D->getType(), 13213 if (rejectConstNotMutableType(S, D, Type, ClauseKind, ELoc, 13227 S.Diag(ELoc, diag::err_omp_reduction_ref_type_arg) 13229 S.Diag(VDDef->getLocation(), diag::note_defined_here) << VDDef; 13248 S.Diag(ELoc, diag::err_omp_once_referenced) 13251 S.Diag(DVar.RefExpr->getExprLoc(), diag::note_omp_referenced); 13255 S.Diag(ELoc, diag::err_omp_wrong_dsa) 13258 reportOriginalDsa(S, Stack, D, DVar); 13271 S.Diag(ELoc, diag::err_omp_required_access) 13274 reportOriginalDsa(S, Stack, D, DVar); 13284 S, ELoc, ERange, Stack->getCurScope(), ReductionIdScopeSpec, 13288 if (S.CurContext->isDependentContext() && 13296 S.Diag(ReductionId.getBeginLoc(), 13313 (S.getLangOpts().CPlusPlus && Type->isArithmeticType()))) { 13314 S.Diag(ELoc, diag::err_omp_clause_not_arithmetic_type_arg) 13315 << getOpenMPClauseName(ClauseKind) << S.getLangOpts().CPlusPlus; 13319 S.Diag(D->getLocation(), 13326 !S.getLangOpts().CPlusPlus && Type->isFloatingType()) { 13327 S.Diag(ELoc, diag::err_omp_clause_floating_type_arg) 13332 S.Diag(D->getLocation(), 13341 VarDecl *LHSVD = buildVarDecl(S, ELoc, Type, ".reduction.lhs", 13343 VarDecl *RHSVD = buildVarDecl(S, ELoc, Type, D->getName(), 13370 S.Diag(ELoc, diag::err_omp_reduction_vla_unsupported) << !!OASE; 13371 S.Diag(ELoc, diag::note_vla_unsupported); 13373 S.targetDiag(ELoc, diag::err_omp_reduction_vla_unsupported) << !!OASE; 13374 S.targetDiag(ELoc, diag::note_vla_unsupported); 13393 buildVarDecl(S, ELoc, PrivateTy, D->getName(), 13398 DeclRefExpr *LHSDRE = buildDeclRefExpr(S, LHSVD, Type, ELoc); 13399 DeclRefExpr *RHSDRE = buildDeclRefExpr(S, RHSVD, Type, ELoc); 13416 Init = S.ActOnIntegerConstant(ELoc, /*Val=*/0).get(); 13422 Init = S.ActOnIntegerConstant(ELoc, /*Val=*/1).get(); 13445 Init = S.CreateBuiltinBinOp(ELoc, BO_Add, Init, Im).get(); 13469 ExprResult CastExpr = S.BuildCStyleCastExpr( 13511 S.AddInitializerToDecl(RHSVD, Init, /*DirectInit=*/false); 13513 S.ActOnUninitializedDecl(RHSVD); 13517 (DeclareReductionRef.isUnset() || !S.LangOpts.CPlusPlus)) { 13518 S.Diag(ELoc, diag::err_omp_reduction_id_not_compatible) 13522 S.Diag(D->getLocation(), 13531 DeclRefExpr *PrivateDRE = buildDeclRefExpr(S, PrivateVD, PrivateTy, ELoc); 13536 ExprResult LHS = S.CreateBuiltinUnaryOp(ELoc, UO_AddrOf, LHSDRE); 13537 ExprResult RHS = S.CreateBuiltinUnaryOp(ELoc, UO_AddrOf, RHSDRE); 13539 LHS = S.DefaultLvalueConversion(LHS.get()); 13540 RHS = S.DefaultLvalueConversion(RHS.get()); 13553 S.DefaultLvalueConversion(DeclareReductionRef.get()).get()); 13558 ReductionOp = S.BuildBinOp( 13563 S.BuildBinOp(Stack->getCurScope(), ReductionId.getBeginLoc(), 13570 S.BuildBinOp(Stack->getCurScope(), ReductionId.getBeginLoc(), 13574 ReductionOp = S.ActOnFinishFullExpr(ReductionOp.get(), 13602 S.Diag(ELoc, diag::err_omp_in_reduction_not_task_reduction); 13617 S.Diag(ReductionId.getBeginLoc(), 13620 S.Diag(ParentSR.getBegin(), 13635 if (!VD && !S.CurContext->isDependentContext()) { 13637 TransformExprToCaptures RebuildToCapture(S, D); 13642 VarsExpr = Ref = buildCapture(S, D, SimpleRefExpr, /*WithInit=*/false); 13644 if (!S.isOpenMPCapturedDecl(D)) { 13647 ExprResult RefRes = S.DefaultLvalueConversion(Ref); 13651 S.BuildBinOp(Stack->getCurScope(), ELoc, BO_Assign, SimpleRefExpr, 13657 S.Diag(RefExpr->getExprLoc(), 13663 S.IgnoredValueConversions(PostUpdateRes.get()).get());