Lines Matching defs:DVar
836 const DSAVarData DVar = getTopDSA(D, false);
837 return isOpenMPThreadPrivate(DVar.CKind);
1272 DSAVarData DVar;
1280 DVar.CKind = OMPC_shared;
1287 DVar.CKind = OMPC_shared;
1291 DVar.CKind = OMPC_shared;
1293 return DVar;
1302 DVar.CKind = OMPC_private;
1303 return DVar;
1306 DVar.DKind = Iter->Directive;
1311 DVar.RefExpr = Data.RefExpr.getPointer();
1312 DVar.PrivateCopy = Data.PrivateCopy;
1313 DVar.CKind = Data.Attributes;
1314 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc;
1315 DVar.Modifier = Data.Modifier;
1316 DVar.AppliedToPointee = Data.AppliedToPointee;
1317 return DVar;
1326 DVar.CKind = OMPC_shared;
1327 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc;
1328 return DVar;
1330 return DVar;
1334 DVar.CKind = OMPC_unknown;
1336 DVar.CKind = OMPC_firstprivate;
1338 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc;
1339 return DVar;
1346 DVar.CKind = OMPC_unknown;
1348 DVar.CKind = OMPC_private;
1350 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc;
1351 return DVar;
1357 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc;
1358 if ((isOpenMPParallelDirective(DVar.DKind) &&
1359 !isOpenMPTaskLoopDirective(DVar.DKind)) ||
1360 isOpenMPTeamsDirective(DVar.DKind)) {
1361 DVar.CKind = OMPC_shared;
1362 return DVar;
1370 if (isOpenMPTaskingDirective(DVar.DKind)) {
1382 DVar.RefExpr = nullptr;
1383 DVar.CKind = OMPC_firstprivate;
1384 return DVar;
1387 DVar.CKind =
1389 return DVar;
1724 DSAVarData DVar;
1729 DVar.RefExpr = TI->getSecond().RefExpr.getPointer();
1730 DVar.CKind = OMPC_threadprivate;
1731 DVar.Modifier = TI->getSecond().Modifier;
1732 return DVar;
1735 DVar.RefExpr = buildDeclRefExpr(
1738 DVar.CKind = OMPC_threadprivate;
1739 addDSA(D, DVar.RefExpr, OMPC_threadprivate);
1740 return DVar;
1751 DVar.RefExpr = buildDeclRefExpr(
1753 DVar.CKind = OMPC_threadprivate;
1754 addDSA(D, DVar.RefExpr, OMPC_threadprivate);
1755 return DVar;
1768 DVar.RefExpr =
1771 DVar.CKind = OMPC_threadprivate;
1772 return DVar;
1779 DVar.RefExpr = DSAIter->getSecond().RefExpr.getPointer();
1780 DVar.CKind = OMPC_threadprivate;
1781 return DVar;
1787 DVar.RefExpr =
1790 DVar.CKind = OMPC_threadprivate;
1791 return DVar;
1799 return DVar;
1818 DVar.RefExpr = Data.RefExpr.getPointer();
1819 DVar.PrivateCopy = Data.PrivateCopy;
1820 DVar.CKind = Data.Attributes;
1821 DVar.ImplicitDSALoc = I->DefaultAttrLoc;
1822 DVar.DKind = I->Directive;
1823 DVar.Modifier = Data.Modifier;
1824 DVar.AppliedToPointee = Data.AppliedToPointee;
1825 return DVar;
1829 DVar.CKind = OMPC_shared;
1830 return DVar;
1853 DVar.CKind = OMPC_shared;
1854 return DVar;
1865 return DVar;
1869 DVar.RefExpr = Data.RefExpr.getPointer();
1870 DVar.PrivateCopy = Data.PrivateCopy;
1871 DVar.CKind = Data.Attributes;
1872 DVar.ImplicitDSALoc = I->DefaultAttrLoc;
1873 DVar.DKind = I->Directive;
1874 DVar.Modifier = Data.Modifier;
1875 DVar.AppliedToPointee = Data.AppliedToPointee;
1878 return DVar;
1923 DSAVarData DVar = getDSA(NewI, D);
1924 if (I == NewI && CPred(DVar.CKind, DVar.AppliedToPointee, I->DefaultAttr))
1925 return DVar;
1944 DSAVarData DVar = getDSA(NewI, D);
1945 return (NewI == StartI && CPred(DVar.CKind, DVar.AppliedToPointee))
1946 ? DVar
2542 DSAStackTy::DSAVarData DVar = DSAStack->getImplicitDSA(D, Level);
2543 if (DVar.CKind != OMPC_shared &&
2544 !DSAStack->isLoopControlVariable(D, Level).first && !DVar.RefExpr) {
2674 DSAStackTy::DSAVarData DVar = DSAStack->getImplicitDSA(D, Level);
2675 if (DVar.CKind != OMPC_shared)
2850 const DSAStackTy::DSAVarData &DVar,
2870 const DSAStackTy::DSAVarData DVar =
2872 if (DVar.CKind != OMPC_lastprivate) {
2913 const DSAStackTy::DSAVarData DVar =
2915 PrivateRefs.push_back(DVar.PrivateCopy ? DVar.PrivateCopy
2930 DSAStackTy::DSAVarData DVar =
2937 if (DVar.RefExpr ||
2956 if (DVar.RefExpr)
2957 reportOriginalDsa(SemaRef, DSAStack, VD, DVar);
3613 const DSAStackTy::DSAVarData &DVar,
3615 if (DVar.RefExpr) {
3616 SemaRef.Diag(DVar.RefExpr->getExprLoc(), diag::note_omp_explicit_dsa)
3617 << getOpenMPClauseName(DVar.CKind);
3636 if (DVar.CKind == OMPC_private)
3638 else if (DVar.CKind == OMPC_lastprivate)
3642 } else if (isOpenMPTaskingDirective(DVar.DKind) &&
3643 DVar.CKind == OMPC_firstprivate) {
3645 ReportLoc = DVar.ImplicitDSALoc;
3654 else if (VD && VD->isLocalVarDecl() && DVar.CKind == OMPC_private) {
3662 } else if (DVar.ImplicitDSALoc.isValid()) {
3663 SemaRef.Diag(DVar.ImplicitDSALoc, diag::note_omp_implicit_dsa)
3664 << getOpenMPClauseName(DVar.CKind);
3809 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(VD, /*FromParent=*/false);
3811 if (DVar.RefExpr || !ImplicitDeclarations.insert(VD).second)
3829 if (DVar.CKind == OMPC_unknown &&
3838 DSAStackTy::DSAVarData DVar =
3840 InheritedDSA = DVar.CKind == OMPC_unknown;
3861 if (DVar.CKind == OMPC_unknown && IsModifierNone &&
3942 DVar = Stack->hasInnermostDSA(
3952 if (isOpenMPTaskingDirective(DKind) && DVar.CKind == OMPC_reduction) {
3955 reportOriginalDsa(SemaRef, Stack, VD, DVar);
3960 DVar = Stack->getImplicitDSA(VD, /*FromParent=*/false);
3961 if (((isOpenMPTaskingDirective(DKind) && DVar.CKind != OMPC_shared) ||
3963 DVar.CKind == OMPC_firstprivate) ||
3965 DVar.CKind == OMPC_private)) &&
3966 !DVar.RefExpr)) &&
3992 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(FD, /*FromParent=*/false);
3995 if (DVar.RefExpr || !ImplicitDeclarations.insert(FD).second)
4037 DVar = Stack->hasInnermostDSA(
4047 if (isOpenMPTaskingDirective(DKind) && DVar.CKind == OMPC_reduction) {
4050 reportOriginalDsa(SemaRef, Stack, FD, DVar);
4055 DVar = Stack->getImplicitDSA(FD, /*FromParent=*/false);
4056 if (isOpenMPTaskingDirective(DKind) && DVar.CKind != OMPC_shared &&
4062 if (DVar.CKind != OMPC_unknown)
9103 DSAStackTy::DSAVarData DVar =
9115 if (((isOpenMPSimdDirective(DKind) && DVar.CKind != OMPC_unknown &&
9116 DVar.CKind != PredeterminedCKind && DVar.RefExpr &&
9118 (DVar.CKind != OMPC_lastprivate && DVar.CKind != OMPC_private))) ||
9122 !isOpenMPSimdDirective(DKind) && DVar.CKind != OMPC_unknown &&
9123 DVar.CKind != OMPC_private && DVar.CKind != OMPC_lastprivate)) &&
9124 (DVar.CKind != OMPC_private || DVar.RefExpr)) {
9126 << getOpenMPClauseName(DVar.CKind) << getOpenMPDirectiveName(DKind)
9128 if (DVar.RefExpr == nullptr)
9129 DVar.CKind = PredeterminedCKind;
9130 reportOriginalDsa(SemaRef, DSAStack, D, DVar, /*IsLoopIterVar=*/true);
9136 if (DVar.CKind == OMPC_unknown)
17337 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false);
17338 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_private) {
17339 Diag(ELoc, diag::err_omp_wrong_dsa) << getOpenMPClauseName(DVar.CKind)
17341 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17383 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17483 DSAStackTy::DSAVarData DVar =
17485 TopDVar = DVar;
17495 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_firstprivate &&
17497 DVar.CKind != OMPC_lastprivate) &&
17498 DVar.RefExpr) {
17500 << getOpenMPClauseName(DVar.CKind)
17502 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17517 if (!(IsConstant || (VD && VD->isStaticDataMember())) && !DVar.RefExpr &&
17518 DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_shared) {
17520 << getOpenMPClauseName(DVar.CKind)
17522 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17545 DVar = DSAStack->getImplicitDSA(D, true);
17546 if (DVar.CKind != OMPC_shared &&
17547 (isOpenMPParallelDirective(DVar.DKind) ||
17548 isOpenMPTeamsDirective(DVar.DKind) ||
17549 DVar.DKind == OMPD_unknown)) {
17553 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17569 DVar = DSAStack->hasInnermostDSA(
17580 if (DVar.CKind == OMPC_reduction &&
17581 (isOpenMPParallelDirective(DVar.DKind) ||
17582 isOpenMPWorksharingDirective(DVar.DKind) ||
17583 isOpenMPTeamsDirective(DVar.DKind))) {
17585 << getOpenMPDirectiveName(DVar.DKind);
17586 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17615 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17802 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false);
17803 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_lastprivate &&
17805 DVar.CKind != OMPC_firstprivate) &&
17806 (DVar.CKind != OMPC_private || DVar.RefExpr != nullptr)) {
17808 << getOpenMPClauseName(DVar.CKind)
17810 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17820 DSAStackTy::DSAVarData TopDVar = DVar;
17824 DVar = DSAStack->getImplicitDSA(D, true);
17825 if (DVar.CKind != OMPC_shared) {
17829 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17933 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false);
17934 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_shared &&
17935 DVar.RefExpr) {
17936 Diag(ELoc, diag::err_omp_wrong_dsa) << getOpenMPClauseName(DVar.CKind)
17938 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17966 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(VD, /*FromParent=*/false);
17967 if (DVar.CKind == OMPC_shared && !DVar.RefExpr)
17969 if (DVar.CKind != OMPC_unknown)
18611 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(D, /*FromParent=*/false);
18612 if (DVar.CKind == OMPC_reduction) {
18615 if (DVar.RefExpr)
18616 S.Diag(DVar.RefExpr->getExprLoc(), diag::note_omp_referenced);
18619 if (DVar.CKind != OMPC_unknown) {
18621 << getOpenMPClauseName(DVar.CKind)
18623 reportOriginalDsa(S, Stack, D, DVar);
18634 DVar = Stack->getImplicitDSA(D, true);
18635 if (DVar.CKind != OMPC_shared) {
18639 reportOriginalDsa(S, Stack, D, DVar);
18646 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(D, /*FromParent=*/false);
18647 if (DVar.CKind == OMPC_threadprivate) {
18649 << getOpenMPClauseName(DVar.CKind)
18651 reportOriginalDsa(S, Stack, D, DVar);
19312 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false);
19313 if (DVar.RefExpr) {
19314 Diag(ELoc, diag::err_omp_wrong_dsa) << getOpenMPClauseName(DVar.CKind)
19316 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
19720 DSAStackTy::DSAVarData DVar =
19722 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_copyprivate &&
19723 DVar.RefExpr) {
19725 << getOpenMPClauseName(DVar.CKind)
19727 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
19734 if (DVar.CKind == OMPC_unknown) {
19735 DVar = DSAStack->getImplicitDSA(D, false);
19736 if (DVar.CKind == OMPC_shared) {
19740 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
21450 DSAStackTy::DSAVarData DVar = DSAS->getTopDSA(VD, /*FromParent=*/false);
21453 reportOriginalDsa(SemaRef, DSAS, VD, DVar);
21586 DSAStackTy::DSAVarData DVar = DSAS->getTopDSA(VD, /*FromParent=*/false);
21587 if (isOpenMPPrivate(DVar.CKind)) {
21589 << getOpenMPClauseName(DVar.CKind)
21592 reportOriginalDsa(SemaRef, DSAS, CurDeclaration, DVar);
22333 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(VD, /*FromParent=*/false);
22334 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_firstprivate &&
22335 DVar.RefExpr) {
22337 << getOpenMPClauseName(DVar.CKind)
22339 reportOriginalDsa(SemaRef, DSAStack, VD, DVar);
23039 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false);
23040 if (isOpenMPPrivate(DVar.CKind)) {
23042 << getOpenMPClauseName(DVar.CKind)
23045 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
23115 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false);
23116 if (isOpenMPPrivate(DVar.CKind)) {
23118 << getOpenMPClauseName(DVar.CKind)
23121 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
23343 const DSAStackTy::DSAVarData DVar =
23349 if (DVar.CKind != OMPC_reduction || DVar.Modifier != OMPC_REDUCTION_inscan)
23385 DSAStackTy::DSAVarData DVar;
23387 DVar = DSAStack->getTopDSA(D, /*FromParent=*/true);
23392 if (ParentDirective == OMPD_unknown || DVar.CKind != OMPC_reduction ||
23393 DVar.Modifier != OMPC_REDUCTION_inscan) {