Lines Matching refs:DVar
467 const DSAVarData DVar = getTopDSA(D, false); in isThreadPrivate() local
468 return isOpenMPThreadPrivate(DVar.CKind); in isThreadPrivate()
736 DSAVarData DVar; in getDSA() local
744 DVar.CKind = OMPC_shared; in getDSA()
751 DVar.CKind = OMPC_shared; in getDSA()
755 DVar.CKind = OMPC_shared; in getDSA()
757 return DVar; in getDSA()
766 DVar.CKind = OMPC_private; in getDSA()
767 return DVar; in getDSA()
770 DVar.DKind = Iter->Directive; in getDSA()
775 DVar.RefExpr = Data.RefExpr.getPointer(); in getDSA()
776 DVar.PrivateCopy = Data.PrivateCopy; in getDSA()
777 DVar.CKind = Data.Attributes; in getDSA()
778 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc; in getDSA()
779 return DVar; in getDSA()
788 DVar.CKind = OMPC_shared; in getDSA()
789 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc; in getDSA()
790 return DVar; in getDSA()
792 return DVar; in getDSA()
798 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc; in getDSA()
799 if (isOpenMPParallelDirective(DVar.DKind) || in getDSA()
800 isOpenMPTeamsDirective(DVar.DKind)) { in getDSA()
801 DVar.CKind = OMPC_shared; in getDSA()
802 return DVar; in getDSA()
810 if (isOpenMPTaskingDirective(DVar.DKind)) { in getDSA()
822 DVar.RefExpr = nullptr; in getDSA()
823 DVar.CKind = OMPC_firstprivate; in getDSA()
824 return DVar; in getDSA()
827 DVar.CKind = in getDSA()
829 return DVar; in getDSA()
1135 DSAVarData DVar; in getTopDSA() local
1140 DVar.RefExpr = TI->getSecond().RefExpr.getPointer(); in getTopDSA()
1141 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1142 return DVar; in getTopDSA()
1145 DVar.RefExpr = buildDeclRefExpr( in getTopDSA()
1148 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1149 addDSA(D, DVar.RefExpr, OMPC_threadprivate); in getTopDSA()
1150 return DVar; in getTopDSA()
1161 DVar.RefExpr = buildDeclRefExpr( in getTopDSA()
1163 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1164 addDSA(D, DVar.RefExpr, OMPC_threadprivate); in getTopDSA()
1165 return DVar; in getTopDSA()
1180 DVar.RefExpr = in getTopDSA()
1183 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1184 return DVar; in getTopDSA()
1191 DVar.RefExpr = DSAIter->getSecond().RefExpr.getPointer(); in getTopDSA()
1192 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1193 return DVar; in getTopDSA()
1198 DVar.RefExpr = in getTopDSA()
1201 DVar.CKind = OMPC_threadprivate; in getTopDSA()
1202 return DVar; in getTopDSA()
1210 return DVar; in getTopDSA()
1223 return DVar; in getTopDSA()
1225 DVar.CKind = OMPC_shared; in getTopDSA()
1226 return DVar; in getTopDSA()
1248 DVar.CKind = OMPC_shared; in getTopDSA()
1249 return DVar; in getTopDSA()
1262 DVar.RefExpr = Data.RefExpr.getPointer(); in getTopDSA()
1263 DVar.PrivateCopy = Data.PrivateCopy; in getTopDSA()
1264 DVar.CKind = Data.Attributes; in getTopDSA()
1265 DVar.ImplicitDSALoc = I->DefaultAttrLoc; in getTopDSA()
1266 DVar.DKind = I->Directive; in getTopDSA()
1269 return DVar; in getTopDSA()
1302 DSAVarData DVar = getDSA(NewI, D); in hasDSA() local
1303 if (I == NewI && CPred(DVar.CKind)) in hasDSA()
1304 return DVar; in hasDSA()
1323 DSAVarData DVar = getDSA(NewI, D); in hasInnermostDSA() local
1324 return (NewI == StartI && CPred(DVar.CKind)) ? DVar : DSAVarData(); in hasInnermostDSA()
1785 const DSAStackTy::DSAVarData DVar = in EndOpenMPDSABlock() local
1787 if (DVar.CKind == OMPC_lastprivate) { in EndOpenMPDSABlock()
2131 const DSAStackTy::DSAVarData &DVar, in reportOriginalDsa() argument
2133 if (DVar.RefExpr) { in reportOriginalDsa()
2134 SemaRef.Diag(DVar.RefExpr->getExprLoc(), diag::note_omp_explicit_dsa) in reportOriginalDsa()
2135 << getOpenMPClauseName(DVar.CKind); in reportOriginalDsa()
2154 if (DVar.CKind == OMPC_private) in reportOriginalDsa()
2156 else if (DVar.CKind == OMPC_lastprivate) in reportOriginalDsa()
2160 } else if (isOpenMPTaskingDirective(DVar.DKind) && in reportOriginalDsa()
2161 DVar.CKind == OMPC_firstprivate) { in reportOriginalDsa()
2163 ReportLoc = DVar.ImplicitDSALoc; in reportOriginalDsa()
2172 else if (VD && VD->isLocalVarDecl() && DVar.CKind == OMPC_private) { in reportOriginalDsa()
2180 } else if (DVar.ImplicitDSALoc.isValid()) { in reportOriginalDsa()
2181 SemaRef.Diag(DVar.ImplicitDSALoc, diag::note_omp_implicit_dsa) in reportOriginalDsa()
2182 << getOpenMPClauseName(DVar.CKind); in reportOriginalDsa()
2232 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(VD, /*FromParent=*/false); in VisitDeclRefExpr() local
2234 if (DVar.RefExpr || !ImplicitDeclarations.insert(VD).second) in VisitDeclRefExpr()
2250 if (DVar.CKind == OMPC_unknown && Stack->getDefaultDSA() == DSA_none && in VisitDeclRefExpr()
2301 DVar = Stack->hasInnermostDSA( in VisitDeclRefExpr()
2308 if (isOpenMPTaskingDirective(DKind) && DVar.CKind == OMPC_reduction) { in VisitDeclRefExpr()
2311 reportOriginalDsa(SemaRef, Stack, VD, DVar); in VisitDeclRefExpr()
2316 DVar = Stack->getImplicitDSA(VD, /*FromParent=*/false); in VisitDeclRefExpr()
2317 if (isOpenMPTaskingDirective(DKind) && DVar.CKind != OMPC_shared && in VisitDeclRefExpr()
2331 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(FD, /*FromParent=*/false); in VisitMemberExpr() local
2334 if (DVar.RefExpr || !ImplicitDeclarations.insert(FD).second) in VisitMemberExpr()
2370 DVar = Stack->hasInnermostDSA( in VisitMemberExpr()
2377 if (isOpenMPTaskingDirective(DKind) && DVar.CKind == OMPC_reduction) { in VisitMemberExpr()
2380 reportOriginalDsa(SemaRef, Stack, FD, DVar); in VisitMemberExpr()
2385 DVar = Stack->getImplicitDSA(FD, /*FromParent=*/false); in VisitMemberExpr()
2386 if (isOpenMPTaskingDirective(DKind) && DVar.CKind != OMPC_shared && in VisitMemberExpr()
2392 if (DVar.CKind != OMPC_unknown) in VisitMemberExpr()
4834 DSAStackTy::DSAVarData DVar = DSA.getTopDSA(LCDecl, false); in checkOpenMPIterationSpace() local
4841 if (((isOpenMPSimdDirective(DKind) && DVar.CKind != OMPC_unknown && in checkOpenMPIterationSpace()
4842 DVar.CKind != PredeterminedCKind) || in checkOpenMPIterationSpace()
4845 !isOpenMPSimdDirective(DKind) && DVar.CKind != OMPC_unknown && in checkOpenMPIterationSpace()
4846 DVar.CKind != OMPC_private && DVar.CKind != OMPC_lastprivate)) && in checkOpenMPIterationSpace()
4847 (DVar.CKind != OMPC_private || DVar.RefExpr != nullptr)) { in checkOpenMPIterationSpace()
4849 << getOpenMPClauseName(DVar.CKind) << getOpenMPDirectiveName(DKind) in checkOpenMPIterationSpace()
4851 if (DVar.RefExpr == nullptr) in checkOpenMPIterationSpace()
4852 DVar.CKind = PredeterminedCKind; in checkOpenMPIterationSpace()
4853 reportOriginalDsa(SemaRef, &DSA, LCDecl, DVar, /*IsLoopIterVar=*/true); in checkOpenMPIterationSpace()
4860 if (DVar.CKind == OMPC_unknown) in checkOpenMPIterationSpace()
4861 DVar = DSA.hasDSA(LCDecl, isOpenMPPrivate, in checkOpenMPIterationSpace()
9860 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPPrivateClause() local
9861 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_private) { in ActOnOpenMPPrivateClause()
9862 Diag(ELoc, diag::err_omp_wrong_dsa) << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPPrivateClause()
9864 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPPrivateClause()
9900 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPPrivateClause()
10014 DSAStackTy::DSAVarData DVar = in ActOnOpenMPFirstprivateClause() local
10016 TopDVar = DVar; in ActOnOpenMPFirstprivateClause()
10026 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_firstprivate && in ActOnOpenMPFirstprivateClause()
10028 DVar.CKind != OMPC_lastprivate) && in ActOnOpenMPFirstprivateClause()
10029 DVar.RefExpr) { in ActOnOpenMPFirstprivateClause()
10031 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPFirstprivateClause()
10033 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
10048 if (!(IsConstant || (VD && VD->isStaticDataMember())) && !DVar.RefExpr && in ActOnOpenMPFirstprivateClause()
10049 DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_shared) { in ActOnOpenMPFirstprivateClause()
10051 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPFirstprivateClause()
10053 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
10076 DVar = DSAStack->getImplicitDSA(D, true); in ActOnOpenMPFirstprivateClause()
10077 if (DVar.CKind != OMPC_shared && in ActOnOpenMPFirstprivateClause()
10078 (isOpenMPParallelDirective(DVar.DKind) || in ActOnOpenMPFirstprivateClause()
10079 isOpenMPTeamsDirective(DVar.DKind) || in ActOnOpenMPFirstprivateClause()
10080 DVar.DKind == OMPD_unknown)) { in ActOnOpenMPFirstprivateClause()
10084 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
10100 DVar = DSAStack->hasInnermostDSA( in ActOnOpenMPFirstprivateClause()
10108 if (DVar.CKind == OMPC_reduction && in ActOnOpenMPFirstprivateClause()
10109 (isOpenMPParallelDirective(DVar.DKind) || in ActOnOpenMPFirstprivateClause()
10110 isOpenMPWorksharingDirective(DVar.DKind) || in ActOnOpenMPFirstprivateClause()
10111 isOpenMPTeamsDirective(DVar.DKind))) { in ActOnOpenMPFirstprivateClause()
10113 << getOpenMPDirectiveName(DVar.DKind); in ActOnOpenMPFirstprivateClause()
10114 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
10136 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPFirstprivateClause()
10294 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPLastprivateClause() local
10295 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_lastprivate && in ActOnOpenMPLastprivateClause()
10297 DVar.CKind != OMPC_firstprivate) && in ActOnOpenMPLastprivateClause()
10298 (DVar.CKind != OMPC_private || DVar.RefExpr != nullptr)) { in ActOnOpenMPLastprivateClause()
10300 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPLastprivateClause()
10302 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPLastprivateClause()
10312 DSAStackTy::DSAVarData TopDVar = DVar; in ActOnOpenMPLastprivateClause()
10316 DVar = DSAStack->getImplicitDSA(D, true); in ActOnOpenMPLastprivateClause()
10317 if (DVar.CKind != OMPC_shared) { in ActOnOpenMPLastprivateClause()
10321 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPLastprivateClause()
10424 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPSharedClause() local
10425 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_shared && in ActOnOpenMPSharedClause()
10426 DVar.RefExpr) { in ActOnOpenMPSharedClause()
10427 Diag(ELoc, diag::err_omp_wrong_dsa) << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPSharedClause()
10429 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPSharedClause()
10455 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(VD, /*FromParent=*/false); in VisitDeclRefExpr() local
10456 if (DVar.CKind == OMPC_shared && !DVar.RefExpr) in VisitDeclRefExpr()
10458 if (DVar.CKind != OMPC_unknown) in VisitDeclRefExpr()
11027 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(D, /*FromParent=*/false); in actOnOMPReductionKindClause() local
11028 if (DVar.CKind == OMPC_reduction) { in actOnOMPReductionKindClause()
11031 if (DVar.RefExpr) in actOnOMPReductionKindClause()
11032 S.Diag(DVar.RefExpr->getExprLoc(), diag::note_omp_referenced); in actOnOMPReductionKindClause()
11035 if (DVar.CKind != OMPC_unknown) { in actOnOMPReductionKindClause()
11037 << getOpenMPClauseName(DVar.CKind) in actOnOMPReductionKindClause()
11039 reportOriginalDsa(S, Stack, D, DVar); in actOnOMPReductionKindClause()
11050 DVar = Stack->getImplicitDSA(D, true); in actOnOMPReductionKindClause()
11051 if (DVar.CKind != OMPC_shared) { in actOnOMPReductionKindClause()
11055 reportOriginalDsa(S, Stack, D, DVar); in actOnOMPReductionKindClause()
11602 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPLinearClause() local
11603 if (DVar.RefExpr) { in ActOnOpenMPLinearClause()
11604 Diag(ELoc, diag::err_omp_wrong_dsa) << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPLinearClause()
11606 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPLinearClause()
11996 DSAStackTy::DSAVarData DVar = in ActOnOpenMPCopyprivateClause() local
11998 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_copyprivate && in ActOnOpenMPCopyprivateClause()
11999 DVar.RefExpr) { in ActOnOpenMPCopyprivateClause()
12001 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPCopyprivateClause()
12003 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPCopyprivateClause()
12010 if (DVar.CKind == OMPC_unknown) { in ActOnOpenMPCopyprivateClause()
12011 DVar = DSAStack->getImplicitDSA(D, false); in ActOnOpenMPCopyprivateClause()
12012 if (DVar.CKind == OMPC_shared) { in ActOnOpenMPCopyprivateClause()
12016 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPCopyprivateClause()
12988 DSAStackTy::DSAVarData DVar = DSAS->getTopDSA(VD, /*FromParent=*/false); in checkMappableExpressionList() local
12991 reportOriginalDsa(SemaRef, DSAS, VD, DVar); in checkMappableExpressionList()
13065 DSAStackTy::DSAVarData DVar = DSAS->getTopDSA(VD, /*FromParent=*/false); in checkMappableExpressionList() local
13066 if (isOpenMPPrivate(DVar.CKind)) { in checkMappableExpressionList()
13068 << getOpenMPClauseName(DVar.CKind) in checkMappableExpressionList()
13071 reportOriginalDsa(SemaRef, DSAS, CurDeclaration, DVar); in checkMappableExpressionList()
13879 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false); in ActOnOpenMPIsDevicePtrClause() local
13880 if (isOpenMPPrivate(DVar.CKind)) { in ActOnOpenMPIsDevicePtrClause()
13882 << getOpenMPClauseName(DVar.CKind) in ActOnOpenMPIsDevicePtrClause()
13885 reportOriginalDsa(*this, DSAStack, D, DVar); in ActOnOpenMPIsDevicePtrClause()