Lines Matching refs:DVar
827 const DSAVarData DVar = getTopDSA(D, false); in isThreadPrivate() local
828 return isOpenMPThreadPrivate(DVar.CKind); in isThreadPrivate()
1246 DSAVarData DVar; in getDSA() local
1254 DVar.CKind = OMPC_shared; in getDSA()
1261 DVar.CKind = OMPC_shared; in getDSA()
1265 DVar.CKind = OMPC_shared; in getDSA()
1267 return DVar; in getDSA()
1276 DVar.CKind = OMPC_private; in getDSA()
1277 return DVar; in getDSA()
1280 DVar.DKind = Iter->Directive; in getDSA()
1285 DVar.RefExpr = Data.RefExpr.getPointer(); in getDSA()
1286 DVar.PrivateCopy = Data.PrivateCopy; in getDSA()
1287 DVar.CKind = Data.Attributes; in getDSA()
1288 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc; in getDSA()
1289 DVar.Modifier = Data.Modifier; in getDSA()
1290 DVar.AppliedToPointee = Data.AppliedToPointee; in getDSA()
1291 return DVar; in getDSA()
1300 DVar.CKind = OMPC_shared; in getDSA()
1301 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc; in getDSA()
1302 return DVar; in getDSA()
1304 return DVar; in getDSA()
1308 DVar.CKind = OMPC_unknown; in getDSA()
1310 DVar.CKind = OMPC_firstprivate; in getDSA()
1312 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc; in getDSA()
1313 return DVar; in getDSA()
1320 DVar.CKind = OMPC_unknown; in getDSA()
1322 DVar.CKind = OMPC_private; in getDSA()
1324 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc; in getDSA()
1325 return DVar; in getDSA()
1331 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc; in getDSA()
1332 if ((isOpenMPParallelDirective(DVar.DKind) && in getDSA()
1333 !isOpenMPTaskLoopDirective(DVar.DKind)) || in getDSA()
1334 isOpenMPTeamsDirective(DVar.DKind)) { in getDSA()
1335 DVar.CKind = OMPC_shared; in getDSA()
1336 return DVar; in getDSA()
1344 if (isOpenMPTaskingDirective(DVar.DKind)) { in getDSA()
1356 DVar.RefExpr = nullptr; in getDSA()
1357 DVar.CKind = OMPC_firstprivate; in getDSA()
1358 return DVar; in getDSA()
1361 DVar.CKind = in getDSA()
1363 return DVar; in getDSA()
1700 DSAVarData DVar; in getTopDSA() local
1705 DVar.RefExpr = TI->getSecond().RefExpr.getPointer(); in getTopDSA()
1706 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1707 DVar.Modifier = TI->getSecond().Modifier; in getTopDSA()
1708 return DVar; in getTopDSA()
1711 DVar.RefExpr = buildDeclRefExpr( in getTopDSA()
1714 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1715 addDSA(D, DVar.RefExpr, OMPC_threadprivate); in getTopDSA()
1716 return DVar; in getTopDSA()
1727 DVar.RefExpr = buildDeclRefExpr( in getTopDSA()
1729 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1730 addDSA(D, DVar.RefExpr, OMPC_threadprivate); in getTopDSA()
1731 return DVar; in getTopDSA()
1744 DVar.RefExpr = in getTopDSA()
1747 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1748 return DVar; in getTopDSA()
1755 DVar.RefExpr = DSAIter->getSecond().RefExpr.getPointer(); in getTopDSA()
1756 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1757 return DVar; in getTopDSA()
1763 DVar.RefExpr = in getTopDSA()
1766 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1767 return DVar; in getTopDSA()
1775 return DVar; in getTopDSA()
1794 DVar.RefExpr = Data.RefExpr.getPointer(); in getTopDSA()
1795 DVar.PrivateCopy = Data.PrivateCopy; in getTopDSA()
1796 DVar.CKind = Data.Attributes; in getTopDSA()
1797 DVar.ImplicitDSALoc = I->DefaultAttrLoc; in getTopDSA()
1798 DVar.DKind = I->Directive; in getTopDSA()
1799 DVar.Modifier = Data.Modifier; in getTopDSA()
1800 DVar.AppliedToPointee = Data.AppliedToPointee; in getTopDSA()
1801 return DVar; in getTopDSA()
1805 DVar.CKind = OMPC_shared; in getTopDSA()
1806 return DVar; in getTopDSA()
1829 DVar.CKind = OMPC_shared; in getTopDSA()
1830 return DVar; in getTopDSA()
1841 return DVar; in getTopDSA()
1845 DVar.RefExpr = Data.RefExpr.getPointer(); in getTopDSA()
1846 DVar.PrivateCopy = Data.PrivateCopy; in getTopDSA()
1847 DVar.CKind = Data.Attributes; in getTopDSA()
1848 DVar.ImplicitDSALoc = I->DefaultAttrLoc; in getTopDSA()
1849 DVar.DKind = I->Directive; in getTopDSA()
1850 DVar.Modifier = Data.Modifier; in getTopDSA()
1851 DVar.AppliedToPointee = Data.AppliedToPointee; in getTopDSA()
1854 return DVar; in getTopDSA()
1899 DSAVarData DVar = getDSA(NewI, D); in hasDSA() local
1900 if (I == NewI && CPred(DVar.CKind, DVar.AppliedToPointee, I->DefaultAttr)) in hasDSA()
1901 return DVar; in hasDSA()
1920 DSAVarData DVar = getDSA(NewI, D); in hasInnermostDSA() local
1921 return (NewI == StartI && CPred(DVar.CKind, DVar.AppliedToPointee)) in hasInnermostDSA()
1922 ? DVar in hasInnermostDSA()
2510 DSAStackTy::DSAVarData DVar = DSAStack->getImplicitDSA(D, Level); in isOpenMPPrivateDecl() local
2511 if (DVar.CKind != OMPC_shared && in isOpenMPPrivateDecl()
2512 !DSAStack->isLoopControlVariable(D, Level).first && !DVar.RefExpr) { in isOpenMPPrivateDecl()
2640 DSAStackTy::DSAVarData DVar = DSAStack->getImplicitDSA(D, Level); in isOpenMPGlobalCapturedDecl() local
2641 if (DVar.CKind != OMPC_shared) in isOpenMPGlobalCapturedDecl()
2796 const DSAStackTy::DSAVarData &DVar,
2817 const DSAStackTy::DSAVarData DVar = in EndOpenMPDSABlock() local
2819 if (DVar.CKind == OMPC_lastprivate) { in EndOpenMPDSABlock()
2860 const DSAStackTy::DSAVarData DVar = in EndOpenMPDSABlock() local
2862 PrivateRefs.push_back(DVar.PrivateCopy ? DVar.PrivateCopy in EndOpenMPDSABlock()
2877 DSAStackTy::DSAVarData DVar = in EndOpenMPDSABlock() local
2884 if (DVar.RefExpr || in EndOpenMPDSABlock()
2904 if (DVar.RefExpr) in EndOpenMPDSABlock()
2905 reportOriginalDsa(*this, DSAStack, VD, DVar); in EndOpenMPDSABlock()
3509 const DSAStackTy::DSAVarData &DVar, in reportOriginalDsa() argument
3511 if (DVar.RefExpr) { in reportOriginalDsa()
3512 SemaRef.Diag(DVar.RefExpr->getExprLoc(), diag::note_omp_explicit_dsa) in reportOriginalDsa()
3513 << getOpenMPClauseName(DVar.CKind); in reportOriginalDsa()
3532 if (DVar.CKind == OMPC_private) in reportOriginalDsa()
3534 else if (DVar.CKind == OMPC_lastprivate) in reportOriginalDsa()
3538 } else if (isOpenMPTaskingDirective(DVar.DKind) && in reportOriginalDsa()
3539 DVar.CKind == OMPC_firstprivate) { in reportOriginalDsa()
3541 ReportLoc = DVar.ImplicitDSALoc; in reportOriginalDsa()
3550 else if (VD && VD->isLocalVarDecl() && DVar.CKind == OMPC_private) { in reportOriginalDsa()
3558 } else if (DVar.ImplicitDSALoc.isValid()) { in reportOriginalDsa()
3559 SemaRef.Diag(DVar.ImplicitDSALoc, diag::note_omp_implicit_dsa) in reportOriginalDsa()
3560 << getOpenMPClauseName(DVar.CKind); in reportOriginalDsa()
3694 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(VD, /*FromParent=*/false); in VisitDeclRefExpr() local
3696 if (DVar.RefExpr || !ImplicitDeclarations.insert(VD).second) in VisitDeclRefExpr()
3715 if (DVar.CKind == OMPC_unknown && in VisitDeclRefExpr()
3724 DSAStackTy::DSAVarData DVar = in VisitDeclRefExpr() local
3726 InheritedDSA = DVar.CKind == OMPC_unknown; in VisitDeclRefExpr()
3747 if (DVar.CKind == OMPC_unknown && IsModifierNone && in VisitDeclRefExpr()
3830 DVar = Stack->hasInnermostDSA( in VisitDeclRefExpr()
3840 if (isOpenMPTaskingDirective(DKind) && DVar.CKind == OMPC_reduction) { in VisitDeclRefExpr()
3843 reportOriginalDsa(SemaRef, Stack, VD, DVar); in VisitDeclRefExpr()
3848 DVar = Stack->getImplicitDSA(VD, /*FromParent=*/false); in VisitDeclRefExpr()
3849 if (((isOpenMPTaskingDirective(DKind) && DVar.CKind != OMPC_shared) || in VisitDeclRefExpr()
3851 DVar.CKind == OMPC_firstprivate) || in VisitDeclRefExpr()
3853 DVar.CKind == OMPC_private)) && in VisitDeclRefExpr()
3854 !DVar.RefExpr)) && in VisitDeclRefExpr()
3881 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(FD, /*FromParent=*/false); in VisitMemberExpr() local
3884 if (DVar.RefExpr || !ImplicitDeclarations.insert(FD).second) in VisitMemberExpr()
3926 DVar = Stack->hasInnermostDSA( in VisitMemberExpr()
3936 if (isOpenMPTaskingDirective(DKind) && DVar.CKind == OMPC_reduction) { in VisitMemberExpr()
3939 reportOriginalDsa(SemaRef, Stack, FD, DVar); in VisitMemberExpr()
3944 DVar = Stack->getImplicitDSA(FD, /*FromParent=*/false); in VisitMemberExpr()
3945 if (isOpenMPTaskingDirective(DKind) && DVar.CKind != OMPC_shared && in VisitMemberExpr()
3951 if (DVar.CKind != OMPC_unknown) in VisitMemberExpr()
9041 DSAStackTy::DSAVarData DVar = in ActOnOpenMPLoopInitialization() local
9050 if (((isOpenMPSimdDirective(DKind) && DVar.CKind != OMPC_unknown && in ActOnOpenMPLoopInitialization()
9051 DVar.CKind != PredeterminedCKind && DVar.RefExpr && in ActOnOpenMPLoopInitialization()
9052 (LangOpts.OpenMP <= 45 || (DVar.CKind != OMPC_lastprivate && in ActOnOpenMPLoopInitialization()
9053 DVar.CKind != OMPC_private))) || in ActOnOpenMPLoopInitialization()
9059 !isOpenMPSimdDirective(DKind) && DVar.CKind != OMPC_unknown && in ActOnOpenMPLoopInitialization()
9060 DVar.CKind != OMPC_private && DVar.CKind != OMPC_lastprivate)) && in ActOnOpenMPLoopInitialization()
9061 (DVar.CKind != OMPC_private || DVar.RefExpr)) { in ActOnOpenMPLoopInitialization()
9063 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPLoopInitialization()
9066 if (DVar.RefExpr == nullptr) in ActOnOpenMPLoopInitialization()
9067 DVar.CKind = PredeterminedCKind; in ActOnOpenMPLoopInitialization()
9068 reportOriginalDsa(*this, DSAStack, D, DVar, in ActOnOpenMPLoopInitialization()
9075 if (DVar.CKind == OMPC_unknown) in ActOnOpenMPLoopInitialization()
17733 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPPrivateClause() local
17734 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_private) { in ActOnOpenMPPrivateClause()
17735 Diag(ELoc, diag::err_omp_wrong_dsa) << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPPrivateClause()
17737 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPPrivateClause()
17778 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPPrivateClause()
17877 DSAStackTy::DSAVarData DVar = in ActOnOpenMPFirstprivateClause() local
17879 TopDVar = DVar; in ActOnOpenMPFirstprivateClause()
17889 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_firstprivate && in ActOnOpenMPFirstprivateClause()
17891 DVar.CKind != OMPC_lastprivate) && in ActOnOpenMPFirstprivateClause()
17892 DVar.RefExpr) { in ActOnOpenMPFirstprivateClause()
17894 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPFirstprivateClause()
17896 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
17911 if (!(IsConstant || (VD && VD->isStaticDataMember())) && !DVar.RefExpr && in ActOnOpenMPFirstprivateClause()
17912 DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_shared) { in ActOnOpenMPFirstprivateClause()
17914 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPFirstprivateClause()
17916 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
17939 DVar = DSAStack->getImplicitDSA(D, true); in ActOnOpenMPFirstprivateClause()
17940 if (DVar.CKind != OMPC_shared && in ActOnOpenMPFirstprivateClause()
17941 (isOpenMPParallelDirective(DVar.DKind) || in ActOnOpenMPFirstprivateClause()
17942 isOpenMPTeamsDirective(DVar.DKind) || in ActOnOpenMPFirstprivateClause()
17943 DVar.DKind == OMPD_unknown)) { in ActOnOpenMPFirstprivateClause()
17947 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
17963 DVar = DSAStack->hasInnermostDSA( in ActOnOpenMPFirstprivateClause()
17974 if (DVar.CKind == OMPC_reduction && in ActOnOpenMPFirstprivateClause()
17975 (isOpenMPParallelDirective(DVar.DKind) || in ActOnOpenMPFirstprivateClause()
17976 isOpenMPWorksharingDirective(DVar.DKind) || in ActOnOpenMPFirstprivateClause()
17977 isOpenMPTeamsDirective(DVar.DKind))) { in ActOnOpenMPFirstprivateClause()
17979 << getOpenMPDirectiveName(DVar.DKind); in ActOnOpenMPFirstprivateClause()
17980 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
18009 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
18195 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPLastprivateClause() local
18196 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_lastprivate && in ActOnOpenMPLastprivateClause()
18198 DVar.CKind != OMPC_firstprivate) && in ActOnOpenMPLastprivateClause()
18199 (DVar.CKind != OMPC_private || DVar.RefExpr != nullptr)) { in ActOnOpenMPLastprivateClause()
18201 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPLastprivateClause()
18203 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPLastprivateClause()
18213 DSAStackTy::DSAVarData TopDVar = DVar; in ActOnOpenMPLastprivateClause()
18217 DVar = DSAStack->getImplicitDSA(D, true); in ActOnOpenMPLastprivateClause()
18218 if (DVar.CKind != OMPC_shared) { in ActOnOpenMPLastprivateClause()
18222 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPLastprivateClause()
18326 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPSharedClause() local
18327 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_shared && in ActOnOpenMPSharedClause()
18328 DVar.RefExpr) { in ActOnOpenMPSharedClause()
18329 Diag(ELoc, diag::err_omp_wrong_dsa) << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPSharedClause()
18331 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPSharedClause()
18357 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(VD, /*FromParent=*/false); in VisitDeclRefExpr() local
18358 if (DVar.CKind == OMPC_shared && !DVar.RefExpr) in VisitDeclRefExpr()
18360 if (DVar.CKind != OMPC_unknown) in VisitDeclRefExpr()
18983 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(D, /*FromParent=*/false); in actOnOMPReductionKindClause() local
18984 if (DVar.CKind == OMPC_reduction) { in actOnOMPReductionKindClause()
18987 if (DVar.RefExpr) in actOnOMPReductionKindClause()
18988 S.Diag(DVar.RefExpr->getExprLoc(), diag::note_omp_referenced); in actOnOMPReductionKindClause()
18991 if (DVar.CKind != OMPC_unknown) { in actOnOMPReductionKindClause()
18993 << getOpenMPClauseName(DVar.CKind) in actOnOMPReductionKindClause()
18995 reportOriginalDsa(S, Stack, D, DVar); in actOnOMPReductionKindClause()
19006 DVar = Stack->getImplicitDSA(D, true); in actOnOMPReductionKindClause()
19007 if (DVar.CKind != OMPC_shared) { in actOnOMPReductionKindClause()
19011 reportOriginalDsa(S, Stack, D, DVar); in actOnOMPReductionKindClause()
19018 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(D, /*FromParent=*/false); in actOnOMPReductionKindClause() local
19019 if (DVar.CKind == OMPC_threadprivate) { in actOnOMPReductionKindClause()
19021 << getOpenMPClauseName(DVar.CKind) in actOnOMPReductionKindClause()
19023 reportOriginalDsa(S, Stack, D, DVar); in actOnOMPReductionKindClause()
19669 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPLinearClause() local
19670 if (DVar.RefExpr) { in ActOnOpenMPLinearClause()
19671 Diag(ELoc, diag::err_omp_wrong_dsa) << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPLinearClause()
19673 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPLinearClause()
20072 DSAStackTy::DSAVarData DVar = in ActOnOpenMPCopyprivateClause() local
20074 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_copyprivate && in ActOnOpenMPCopyprivateClause()
20075 DVar.RefExpr) { in ActOnOpenMPCopyprivateClause()
20077 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPCopyprivateClause()
20079 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPCopyprivateClause()
20086 if (DVar.CKind == OMPC_unknown) { in ActOnOpenMPCopyprivateClause()
20087 DVar = DSAStack->getImplicitDSA(D, false); in ActOnOpenMPCopyprivateClause()
20088 if (DVar.CKind == OMPC_shared) { in ActOnOpenMPCopyprivateClause()
20092 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPCopyprivateClause()
21542 DSAStackTy::DSAVarData DVar = DSAS->getTopDSA(VD, /*FromParent=*/false); in checkMappableExpressionList() local
21545 reportOriginalDsa(SemaRef, DSAS, VD, DVar); in checkMappableExpressionList()
21675 DSAStackTy::DSAVarData DVar = DSAS->getTopDSA(VD, /*FromParent=*/false); in checkMappableExpressionList() local
21676 if (isOpenMPPrivate(DVar.CKind)) { in checkMappableExpressionList()
21678 << getOpenMPClauseName(DVar.CKind) in checkMappableExpressionList()
21681 reportOriginalDsa(SemaRef, DSAS, CurDeclaration, DVar); in checkMappableExpressionList()
22346 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(VD, /*FromParent=*/false); in ActOnOpenMPDetachClause() local
22347 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_firstprivate && in ActOnOpenMPDetachClause()
22348 DVar.RefExpr) { in ActOnOpenMPDetachClause()
22350 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPDetachClause()
22352 reportOriginalDsa(*this, DSAStack, VD, DVar); in ActOnOpenMPDetachClause()
22969 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPIsDevicePtrClause() local
22970 if (isOpenMPPrivate(DVar.CKind)) { in ActOnOpenMPIsDevicePtrClause()
22972 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPIsDevicePtrClause()
22975 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPIsDevicePtrClause()
23044 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPHasDeviceAddrClause() local
23045 if (isOpenMPPrivate(DVar.CKind)) { in ActOnOpenMPHasDeviceAddrClause()
23047 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPHasDeviceAddrClause()
23050 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPHasDeviceAddrClause()
23227 const DSAStackTy::DSAVarData DVar = in ActOnOpenMPInclusiveClause() local
23233 if (DVar.CKind != OMPC_reduction || DVar.Modifier != OMPC_REDUCTION_inscan) in ActOnOpenMPInclusiveClause()
23268 DSAStackTy::DSAVarData DVar; in ActOnOpenMPExclusiveClause() local
23270 DVar = DSAStack->getTopDSA(D, /*FromParent=*/true); in ActOnOpenMPExclusiveClause()
23275 if (ParentDirective == OMPD_unknown || DVar.CKind != OMPC_reduction || in ActOnOpenMPExclusiveClause()
23276 DVar.Modifier != OMPC_REDUCTION_inscan) { in ActOnOpenMPExclusiveClause()