Lines Matching refs:DVar
792 const DSAVarData DVar = getTopDSA(D, false); in isThreadPrivate() local
793 return isOpenMPThreadPrivate(DVar.CKind); in isThreadPrivate()
1156 DSAVarData DVar; in getDSA() local
1164 DVar.CKind = OMPC_shared; in getDSA()
1171 DVar.CKind = OMPC_shared; in getDSA()
1175 DVar.CKind = OMPC_shared; in getDSA()
1177 return DVar; in getDSA()
1186 DVar.CKind = OMPC_private; in getDSA()
1187 return DVar; in getDSA()
1190 DVar.DKind = Iter->Directive; in getDSA()
1195 DVar.RefExpr = Data.RefExpr.getPointer(); in getDSA()
1196 DVar.PrivateCopy = Data.PrivateCopy; in getDSA()
1197 DVar.CKind = Data.Attributes; in getDSA()
1198 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc; in getDSA()
1199 DVar.Modifier = Data.Modifier; in getDSA()
1200 DVar.AppliedToPointee = Data.AppliedToPointee; in getDSA()
1201 return DVar; in getDSA()
1210 DVar.CKind = OMPC_shared; in getDSA()
1211 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc; in getDSA()
1212 return DVar; in getDSA()
1214 return DVar; in getDSA()
1218 DVar.CKind = OMPC_unknown; in getDSA()
1220 DVar.CKind = OMPC_firstprivate; in getDSA()
1222 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc; in getDSA()
1223 return DVar; in getDSA()
1229 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc; in getDSA()
1230 if ((isOpenMPParallelDirective(DVar.DKind) && in getDSA()
1231 !isOpenMPTaskLoopDirective(DVar.DKind)) || in getDSA()
1232 isOpenMPTeamsDirective(DVar.DKind)) { in getDSA()
1233 DVar.CKind = OMPC_shared; in getDSA()
1234 return DVar; in getDSA()
1242 if (isOpenMPTaskingDirective(DVar.DKind)) { in getDSA()
1254 DVar.RefExpr = nullptr; in getDSA()
1255 DVar.CKind = OMPC_firstprivate; in getDSA()
1256 return DVar; in getDSA()
1259 DVar.CKind = in getDSA()
1261 return DVar; in getDSA()
1601 DSAVarData DVar; in getTopDSA() local
1606 DVar.RefExpr = TI->getSecond().RefExpr.getPointer(); in getTopDSA()
1607 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1608 DVar.Modifier = TI->getSecond().Modifier; in getTopDSA()
1609 return DVar; in getTopDSA()
1612 DVar.RefExpr = buildDeclRefExpr( in getTopDSA()
1615 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1616 addDSA(D, DVar.RefExpr, OMPC_threadprivate); in getTopDSA()
1617 return DVar; in getTopDSA()
1628 DVar.RefExpr = buildDeclRefExpr( in getTopDSA()
1630 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1631 addDSA(D, DVar.RefExpr, OMPC_threadprivate); in getTopDSA()
1632 return DVar; in getTopDSA()
1646 DVar.RefExpr = in getTopDSA()
1649 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1650 return DVar; in getTopDSA()
1657 DVar.RefExpr = DSAIter->getSecond().RefExpr.getPointer(); in getTopDSA()
1658 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1659 return DVar; in getTopDSA()
1665 DVar.RefExpr = in getTopDSA()
1668 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1669 return DVar; in getTopDSA()
1677 return DVar; in getTopDSA()
1696 DVar.RefExpr = Data.RefExpr.getPointer(); in getTopDSA()
1697 DVar.PrivateCopy = Data.PrivateCopy; in getTopDSA()
1698 DVar.CKind = Data.Attributes; in getTopDSA()
1699 DVar.ImplicitDSALoc = I->DefaultAttrLoc; in getTopDSA()
1700 DVar.DKind = I->Directive; in getTopDSA()
1701 DVar.Modifier = Data.Modifier; in getTopDSA()
1702 DVar.AppliedToPointee = Data.AppliedToPointee; in getTopDSA()
1703 return DVar; in getTopDSA()
1707 DVar.CKind = OMPC_shared; in getTopDSA()
1708 return DVar; in getTopDSA()
1731 DVar.CKind = OMPC_shared; in getTopDSA()
1732 return DVar; in getTopDSA()
1743 return DVar; in getTopDSA()
1747 DVar.RefExpr = Data.RefExpr.getPointer(); in getTopDSA()
1748 DVar.PrivateCopy = Data.PrivateCopy; in getTopDSA()
1749 DVar.CKind = Data.Attributes; in getTopDSA()
1750 DVar.ImplicitDSALoc = I->DefaultAttrLoc; in getTopDSA()
1751 DVar.DKind = I->Directive; in getTopDSA()
1752 DVar.Modifier = Data.Modifier; in getTopDSA()
1753 DVar.AppliedToPointee = Data.AppliedToPointee; in getTopDSA()
1756 return DVar; in getTopDSA()
1799 DSAVarData DVar = getDSA(NewI, D); in hasDSA() local
1800 if (I == NewI && CPred(DVar.CKind, DVar.AppliedToPointee)) in hasDSA()
1801 return DVar; in hasDSA()
1820 DSAVarData DVar = getDSA(NewI, D); in hasInnermostDSA() local
1821 return (NewI == StartI && CPred(DVar.CKind, DVar.AppliedToPointee)) in hasInnermostDSA()
1822 ? DVar in hasInnermostDSA()
2327 DSAStackTy::DSAVarData DVar = DSAStack->getImplicitDSA(D, Level); in isOpenMPPrivateDecl() local
2328 if (DVar.CKind != OMPC_shared && in isOpenMPPrivateDecl()
2329 !DSAStack->isLoopControlVariable(D, Level).first && !DVar.RefExpr) { in isOpenMPPrivateDecl()
2454 DSAStackTy::DSAVarData DVar = DSAStack->getImplicitDSA(D, Level); in isOpenMPGlobalCapturedDecl() local
2455 if (DVar.CKind != OMPC_shared) in isOpenMPGlobalCapturedDecl()
2610 const DSAStackTy::DSAVarData &DVar,
2631 const DSAStackTy::DSAVarData DVar = in EndOpenMPDSABlock() local
2633 if (DVar.CKind == OMPC_lastprivate) { in EndOpenMPDSABlock()
2674 const DSAStackTy::DSAVarData DVar = in EndOpenMPDSABlock() local
2676 PrivateRefs.push_back(DVar.PrivateCopy ? DVar.PrivateCopy in EndOpenMPDSABlock()
2691 DSAStackTy::DSAVarData DVar = in EndOpenMPDSABlock() local
2698 if (DVar.RefExpr || in EndOpenMPDSABlock()
2718 if (DVar.RefExpr) in EndOpenMPDSABlock()
2719 reportOriginalDsa(*this, DSAStack, VD, DVar); in EndOpenMPDSABlock()
3311 const DSAStackTy::DSAVarData &DVar, in reportOriginalDsa() argument
3313 if (DVar.RefExpr) { in reportOriginalDsa()
3314 SemaRef.Diag(DVar.RefExpr->getExprLoc(), diag::note_omp_explicit_dsa) in reportOriginalDsa()
3315 << getOpenMPClauseName(DVar.CKind); in reportOriginalDsa()
3334 if (DVar.CKind == OMPC_private) in reportOriginalDsa()
3336 else if (DVar.CKind == OMPC_lastprivate) in reportOriginalDsa()
3340 } else if (isOpenMPTaskingDirective(DVar.DKind) && in reportOriginalDsa()
3341 DVar.CKind == OMPC_firstprivate) { in reportOriginalDsa()
3343 ReportLoc = DVar.ImplicitDSALoc; in reportOriginalDsa()
3352 else if (VD && VD->isLocalVarDecl() && DVar.CKind == OMPC_private) { in reportOriginalDsa()
3360 } else if (DVar.ImplicitDSALoc.isValid()) { in reportOriginalDsa()
3361 SemaRef.Diag(DVar.ImplicitDSALoc, diag::note_omp_implicit_dsa) in reportOriginalDsa()
3362 << getOpenMPClauseName(DVar.CKind); in reportOriginalDsa()
3491 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(VD, /*FromParent=*/false); in VisitDeclRefExpr() local
3493 if (DVar.RefExpr || !ImplicitDeclarations.insert(VD).second) in VisitDeclRefExpr()
3511 if (DVar.CKind == OMPC_unknown && in VisitDeclRefExpr()
3518 DSAStackTy::DSAVarData DVar = in VisitDeclRefExpr() local
3520 InheritedDSA = DVar.CKind == OMPC_unknown; in VisitDeclRefExpr()
3540 if (DVar.CKind == OMPC_unknown && IsModifierNone && in VisitDeclRefExpr()
3623 DVar = Stack->hasInnermostDSA( in VisitDeclRefExpr()
3633 if (isOpenMPTaskingDirective(DKind) && DVar.CKind == OMPC_reduction) { in VisitDeclRefExpr()
3636 reportOriginalDsa(SemaRef, Stack, VD, DVar); in VisitDeclRefExpr()
3641 DVar = Stack->getImplicitDSA(VD, /*FromParent=*/false); in VisitDeclRefExpr()
3642 if (((isOpenMPTaskingDirective(DKind) && DVar.CKind != OMPC_shared) || in VisitDeclRefExpr()
3644 DVar.CKind == OMPC_firstprivate && !DVar.RefExpr)) && in VisitDeclRefExpr()
3668 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(FD, /*FromParent=*/false); in VisitMemberExpr() local
3671 if (DVar.RefExpr || !ImplicitDeclarations.insert(FD).second) in VisitMemberExpr()
3713 DVar = Stack->hasInnermostDSA( in VisitMemberExpr()
3723 if (isOpenMPTaskingDirective(DKind) && DVar.CKind == OMPC_reduction) { in VisitMemberExpr()
3726 reportOriginalDsa(SemaRef, Stack, FD, DVar); in VisitMemberExpr()
3731 DVar = Stack->getImplicitDSA(FD, /*FromParent=*/false); in VisitMemberExpr()
3732 if (isOpenMPTaskingDirective(DKind) && DVar.CKind != OMPC_shared && in VisitMemberExpr()
3738 if (DVar.CKind != OMPC_unknown) in VisitMemberExpr()
8509 DSAStackTy::DSAVarData DVar = in ActOnOpenMPLoopInitialization() local
8518 if (((isOpenMPSimdDirective(DKind) && DVar.CKind != OMPC_unknown && in ActOnOpenMPLoopInitialization()
8519 DVar.CKind != PredeterminedCKind && DVar.RefExpr && in ActOnOpenMPLoopInitialization()
8520 (LangOpts.OpenMP <= 45 || (DVar.CKind != OMPC_lastprivate && in ActOnOpenMPLoopInitialization()
8521 DVar.CKind != OMPC_private))) || in ActOnOpenMPLoopInitialization()
8526 !isOpenMPSimdDirective(DKind) && DVar.CKind != OMPC_unknown && in ActOnOpenMPLoopInitialization()
8527 DVar.CKind != OMPC_private && DVar.CKind != OMPC_lastprivate)) && in ActOnOpenMPLoopInitialization()
8528 (DVar.CKind != OMPC_private || DVar.RefExpr)) { in ActOnOpenMPLoopInitialization()
8530 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPLoopInitialization()
8533 if (DVar.RefExpr == nullptr) in ActOnOpenMPLoopInitialization()
8534 DVar.CKind = PredeterminedCKind; in ActOnOpenMPLoopInitialization()
8535 reportOriginalDsa(*this, DSAStack, D, DVar, in ActOnOpenMPLoopInitialization()
8542 if (DVar.CKind == OMPC_unknown) in ActOnOpenMPLoopInitialization()
15651 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPPrivateClause() local
15652 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_private) { in ActOnOpenMPPrivateClause()
15653 Diag(ELoc, diag::err_omp_wrong_dsa) << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPPrivateClause()
15655 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPPrivateClause()
15697 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPPrivateClause()
15811 DSAStackTy::DSAVarData DVar = in ActOnOpenMPFirstprivateClause() local
15813 TopDVar = DVar; in ActOnOpenMPFirstprivateClause()
15823 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_firstprivate && in ActOnOpenMPFirstprivateClause()
15825 DVar.CKind != OMPC_lastprivate) && in ActOnOpenMPFirstprivateClause()
15826 DVar.RefExpr) { in ActOnOpenMPFirstprivateClause()
15828 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPFirstprivateClause()
15830 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
15845 if (!(IsConstant || (VD && VD->isStaticDataMember())) && !DVar.RefExpr && in ActOnOpenMPFirstprivateClause()
15846 DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_shared) { in ActOnOpenMPFirstprivateClause()
15848 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPFirstprivateClause()
15850 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
15873 DVar = DSAStack->getImplicitDSA(D, true); in ActOnOpenMPFirstprivateClause()
15874 if (DVar.CKind != OMPC_shared && in ActOnOpenMPFirstprivateClause()
15875 (isOpenMPParallelDirective(DVar.DKind) || in ActOnOpenMPFirstprivateClause()
15876 isOpenMPTeamsDirective(DVar.DKind) || in ActOnOpenMPFirstprivateClause()
15877 DVar.DKind == OMPD_unknown)) { in ActOnOpenMPFirstprivateClause()
15881 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
15897 DVar = DSAStack->hasInnermostDSA( in ActOnOpenMPFirstprivateClause()
15908 if (DVar.CKind == OMPC_reduction && in ActOnOpenMPFirstprivateClause()
15909 (isOpenMPParallelDirective(DVar.DKind) || in ActOnOpenMPFirstprivateClause()
15910 isOpenMPWorksharingDirective(DVar.DKind) || in ActOnOpenMPFirstprivateClause()
15911 isOpenMPTeamsDirective(DVar.DKind))) { in ActOnOpenMPFirstprivateClause()
15913 << getOpenMPDirectiveName(DVar.DKind); in ActOnOpenMPFirstprivateClause()
15914 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
15943 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
16124 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPLastprivateClause() local
16125 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_lastprivate && in ActOnOpenMPLastprivateClause()
16127 DVar.CKind != OMPC_firstprivate) && in ActOnOpenMPLastprivateClause()
16128 (DVar.CKind != OMPC_private || DVar.RefExpr != nullptr)) { in ActOnOpenMPLastprivateClause()
16130 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPLastprivateClause()
16132 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPLastprivateClause()
16142 DSAStackTy::DSAVarData TopDVar = DVar; in ActOnOpenMPLastprivateClause()
16146 DVar = DSAStack->getImplicitDSA(D, true); in ActOnOpenMPLastprivateClause()
16147 if (DVar.CKind != OMPC_shared) { in ActOnOpenMPLastprivateClause()
16151 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPLastprivateClause()
16255 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPSharedClause() local
16256 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_shared && in ActOnOpenMPSharedClause()
16257 DVar.RefExpr) { in ActOnOpenMPSharedClause()
16258 Diag(ELoc, diag::err_omp_wrong_dsa) << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPSharedClause()
16260 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPSharedClause()
16286 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(VD, /*FromParent=*/false); in VisitDeclRefExpr() local
16287 if (DVar.CKind == OMPC_shared && !DVar.RefExpr) in VisitDeclRefExpr()
16289 if (DVar.CKind != OMPC_unknown) in VisitDeclRefExpr()
16912 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(D, /*FromParent=*/false); in actOnOMPReductionKindClause() local
16913 if (DVar.CKind == OMPC_reduction) { in actOnOMPReductionKindClause()
16916 if (DVar.RefExpr) in actOnOMPReductionKindClause()
16917 S.Diag(DVar.RefExpr->getExprLoc(), diag::note_omp_referenced); in actOnOMPReductionKindClause()
16920 if (DVar.CKind != OMPC_unknown) { in actOnOMPReductionKindClause()
16922 << getOpenMPClauseName(DVar.CKind) in actOnOMPReductionKindClause()
16924 reportOriginalDsa(S, Stack, D, DVar); in actOnOMPReductionKindClause()
16935 DVar = Stack->getImplicitDSA(D, true); in actOnOMPReductionKindClause()
16936 if (DVar.CKind != OMPC_shared) { in actOnOMPReductionKindClause()
16940 reportOriginalDsa(S, Stack, D, DVar); in actOnOMPReductionKindClause()
16947 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(D, /*FromParent=*/false); in actOnOMPReductionKindClause() local
16948 if (DVar.CKind == OMPC_threadprivate) { in actOnOMPReductionKindClause()
16950 << getOpenMPClauseName(DVar.CKind) in actOnOMPReductionKindClause()
16952 reportOriginalDsa(S, Stack, D, DVar); in actOnOMPReductionKindClause()
17600 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPLinearClause() local
17601 if (DVar.RefExpr) { in ActOnOpenMPLinearClause()
17602 Diag(ELoc, diag::err_omp_wrong_dsa) << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPLinearClause()
17604 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPLinearClause()
18005 DSAStackTy::DSAVarData DVar = in ActOnOpenMPCopyprivateClause() local
18007 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_copyprivate && in ActOnOpenMPCopyprivateClause()
18008 DVar.RefExpr) { in ActOnOpenMPCopyprivateClause()
18010 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPCopyprivateClause()
18012 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPCopyprivateClause()
18019 if (DVar.CKind == OMPC_unknown) { in ActOnOpenMPCopyprivateClause()
18020 DVar = DSAStack->getImplicitDSA(D, false); in ActOnOpenMPCopyprivateClause()
18021 if (DVar.CKind == OMPC_shared) { in ActOnOpenMPCopyprivateClause()
18025 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPCopyprivateClause()
19451 DSAStackTy::DSAVarData DVar = DSAS->getTopDSA(VD, /*FromParent=*/false); in checkMappableExpressionList() local
19454 reportOriginalDsa(SemaRef, DSAS, VD, DVar); in checkMappableExpressionList()
19569 DSAStackTy::DSAVarData DVar = DSAS->getTopDSA(VD, /*FromParent=*/false); in checkMappableExpressionList() local
19570 if (isOpenMPPrivate(DVar.CKind)) { in checkMappableExpressionList()
19572 << getOpenMPClauseName(DVar.CKind) in checkMappableExpressionList()
19575 reportOriginalDsa(SemaRef, DSAS, CurDeclaration, DVar); in checkMappableExpressionList()
20236 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(VD, /*FromParent=*/false); in ActOnOpenMPDetachClause() local
20237 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_firstprivate && in ActOnOpenMPDetachClause()
20238 DVar.RefExpr) { in ActOnOpenMPDetachClause()
20240 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPDetachClause()
20242 reportOriginalDsa(*this, DSAStack, VD, DVar); in ActOnOpenMPDetachClause()
20837 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPIsDevicePtrClause() local
20838 if (isOpenMPPrivate(DVar.CKind)) { in ActOnOpenMPIsDevicePtrClause()
20840 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPIsDevicePtrClause()
20843 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPIsDevicePtrClause()
21013 const DSAStackTy::DSAVarData DVar = in ActOnOpenMPInclusiveClause() local
21019 if (DVar.CKind != OMPC_reduction || in ActOnOpenMPInclusiveClause()
21020 DVar.Modifier != OMPC_REDUCTION_inscan) in ActOnOpenMPInclusiveClause()
21055 DSAStackTy::DSAVarData DVar; in ActOnOpenMPExclusiveClause() local
21057 DVar = DSAStack->getTopDSA(D, /*FromParent=*/true); in ActOnOpenMPExclusiveClause()
21062 if (ParentDirective == OMPD_unknown || DVar.CKind != OMPC_reduction || in ActOnOpenMPExclusiveClause()
21063 DVar.Modifier != OMPC_REDUCTION_inscan) { in ActOnOpenMPExclusiveClause()