Lines Matching defs:DVar
858 const DSAVarData DVar = getTopDSA(D, false);
859 return isOpenMPThreadPrivate(DVar.CKind);
1302 DSAVarData DVar;
1310 DVar.CKind = OMPC_shared;
1317 DVar.CKind = OMPC_shared;
1321 DVar.CKind = OMPC_shared;
1323 return DVar;
1332 DVar.CKind = OMPC_private;
1333 return DVar;
1336 DVar.DKind = Iter->Directive;
1341 DVar.RefExpr = Data.RefExpr.getPointer();
1342 DVar.PrivateCopy = Data.PrivateCopy;
1343 DVar.CKind = Data.Attributes;
1344 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc;
1345 DVar.Modifier = Data.Modifier;
1346 DVar.AppliedToPointee = Data.AppliedToPointee;
1347 return DVar;
1356 DVar.CKind = OMPC_shared;
1357 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc;
1358 return DVar;
1360 return DVar;
1364 DVar.CKind = OMPC_unknown;
1366 DVar.CKind = OMPC_firstprivate;
1368 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc;
1369 return DVar;
1376 DVar.CKind = OMPC_unknown;
1378 DVar.CKind = OMPC_private;
1380 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc;
1381 return DVar;
1387 DVar.ImplicitDSALoc = Iter->DefaultAttrLoc;
1388 if ((isOpenMPParallelDirective(DVar.DKind) &&
1389 !isOpenMPTaskLoopDirective(DVar.DKind)) ||
1390 isOpenMPTeamsDirective(DVar.DKind)) {
1391 DVar.CKind = OMPC_shared;
1392 return DVar;
1400 if (isOpenMPTaskingDirective(DVar.DKind)) {
1412 DVar.RefExpr = nullptr;
1413 DVar.CKind = OMPC_firstprivate;
1414 return DVar;
1417 DVar.CKind =
1419 return DVar;
1756 DSAVarData DVar;
1761 DVar.RefExpr = TI->getSecond().RefExpr.getPointer();
1762 DVar.CKind = OMPC_threadprivate;
1763 DVar.Modifier = TI->getSecond().Modifier;
1764 return DVar;
1767 DVar.RefExpr = buildDeclRefExpr(
1770 DVar.CKind = OMPC_threadprivate;
1771 addDSA(D, DVar.RefExpr, OMPC_threadprivate);
1772 return DVar;
1783 DVar.RefExpr = buildDeclRefExpr(
1785 DVar.CKind = OMPC_threadprivate;
1786 addDSA(D, DVar.RefExpr, OMPC_threadprivate);
1787 return DVar;
1800 DVar.RefExpr =
1803 DVar.CKind = OMPC_threadprivate;
1804 return DVar;
1811 DVar.RefExpr = DSAIter->getSecond().RefExpr.getPointer();
1812 DVar.CKind = OMPC_threadprivate;
1813 return DVar;
1819 DVar.RefExpr =
1822 DVar.CKind = OMPC_threadprivate;
1823 return DVar;
1831 return DVar;
1850 DVar.RefExpr = Data.RefExpr.getPointer();
1851 DVar.PrivateCopy = Data.PrivateCopy;
1852 DVar.CKind = Data.Attributes;
1853 DVar.ImplicitDSALoc = I->DefaultAttrLoc;
1854 DVar.DKind = I->Directive;
1855 DVar.Modifier = Data.Modifier;
1856 DVar.AppliedToPointee = Data.AppliedToPointee;
1857 return DVar;
1861 DVar.CKind = OMPC_shared;
1862 return DVar;
1885 DVar.CKind = OMPC_shared;
1886 return DVar;
1897 return DVar;
1901 DVar.RefExpr = Data.RefExpr.getPointer();
1902 DVar.PrivateCopy = Data.PrivateCopy;
1903 DVar.CKind = Data.Attributes;
1904 DVar.ImplicitDSALoc = I->DefaultAttrLoc;
1905 DVar.DKind = I->Directive;
1906 DVar.Modifier = Data.Modifier;
1907 DVar.AppliedToPointee = Data.AppliedToPointee;
1910 return DVar;
1955 DSAVarData DVar = getDSA(NewI, D);
1956 if (I == NewI && CPred(DVar.CKind, DVar.AppliedToPointee, I->DefaultAttr))
1957 return DVar;
1976 DSAVarData DVar = getDSA(NewI, D);
1977 return (NewI == StartI && CPred(DVar.CKind, DVar.AppliedToPointee))
1978 ? DVar
2574 DSAStackTy::DSAVarData DVar = DSAStack->getImplicitDSA(D, Level);
2575 if (DVar.CKind != OMPC_shared &&
2576 !DSAStack->isLoopControlVariable(D, Level).first && !DVar.RefExpr) {
2706 DSAStackTy::DSAVarData DVar = DSAStack->getImplicitDSA(D, Level);
2707 if (DVar.CKind != OMPC_shared)
2882 const DSAStackTy::DSAVarData &DVar,
2903 const DSAStackTy::DSAVarData DVar =
2905 if (DVar.CKind == OMPC_lastprivate) {
2946 const DSAStackTy::DSAVarData DVar =
2948 PrivateRefs.push_back(DVar.PrivateCopy ? DVar.PrivateCopy
2963 DSAStackTy::DSAVarData DVar =
2970 if (DVar.RefExpr ||
2990 if (DVar.RefExpr)
2991 reportOriginalDsa(SemaRef, DSAStack, VD, DVar);
3627 const DSAStackTy::DSAVarData &DVar,
3629 if (DVar.RefExpr) {
3630 SemaRef.Diag(DVar.RefExpr->getExprLoc(), diag::note_omp_explicit_dsa)
3631 << getOpenMPClauseName(DVar.CKind);
3650 if (DVar.CKind == OMPC_private)
3652 else if (DVar.CKind == OMPC_lastprivate)
3656 } else if (isOpenMPTaskingDirective(DVar.DKind) &&
3657 DVar.CKind == OMPC_firstprivate) {
3659 ReportLoc = DVar.ImplicitDSALoc;
3668 else if (VD && VD->isLocalVarDecl() && DVar.CKind == OMPC_private) {
3676 } else if (DVar.ImplicitDSALoc.isValid()) {
3677 SemaRef.Diag(DVar.ImplicitDSALoc, diag::note_omp_implicit_dsa)
3678 << getOpenMPClauseName(DVar.CKind);
3814 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(VD, /*FromParent=*/false);
3816 if (DVar.RefExpr || !ImplicitDeclarations.insert(VD).second)
3835 if (DVar.CKind == OMPC_unknown &&
3844 DSAStackTy::DSAVarData DVar =
3846 InheritedDSA = DVar.CKind == OMPC_unknown;
3867 if (DVar.CKind == OMPC_unknown && IsModifierNone &&
3948 DVar = Stack->hasInnermostDSA(
3958 if (isOpenMPTaskingDirective(DKind) && DVar.CKind == OMPC_reduction) {
3961 reportOriginalDsa(SemaRef, Stack, VD, DVar);
3966 DVar = Stack->getImplicitDSA(VD, /*FromParent=*/false);
3967 if (((isOpenMPTaskingDirective(DKind) && DVar.CKind != OMPC_shared) ||
3969 DVar.CKind == OMPC_firstprivate) ||
3971 DVar.CKind == OMPC_private)) &&
3972 !DVar.RefExpr)) &&
3999 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(FD, /*FromParent=*/false);
4002 if (DVar.RefExpr || !ImplicitDeclarations.insert(FD).second)
4044 DVar = Stack->hasInnermostDSA(
4054 if (isOpenMPTaskingDirective(DKind) && DVar.CKind == OMPC_reduction) {
4057 reportOriginalDsa(SemaRef, Stack, FD, DVar);
4062 DVar = Stack->getImplicitDSA(FD, /*FromParent=*/false);
4063 if (isOpenMPTaskingDirective(DKind) && DVar.CKind != OMPC_shared &&
4069 if (DVar.CKind != OMPC_unknown)
9096 DSAStackTy::DSAVarData DVar =
9108 if (((isOpenMPSimdDirective(DKind) && DVar.CKind != OMPC_unknown &&
9109 DVar.CKind != PredeterminedCKind && DVar.RefExpr &&
9111 (DVar.CKind != OMPC_lastprivate && DVar.CKind != OMPC_private))) ||
9115 !isOpenMPSimdDirective(DKind) && DVar.CKind != OMPC_unknown &&
9116 DVar.CKind != OMPC_private && DVar.CKind != OMPC_lastprivate)) &&
9117 (DVar.CKind != OMPC_private || DVar.RefExpr)) {
9119 << getOpenMPClauseName(DVar.CKind) << getOpenMPDirectiveName(DKind)
9121 if (DVar.RefExpr == nullptr)
9122 DVar.CKind = PredeterminedCKind;
9123 reportOriginalDsa(SemaRef, DSAStack, D, DVar, /*IsLoopIterVar=*/true);
9129 if (DVar.CKind == OMPC_unknown)
17150 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false);
17151 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_private) {
17152 Diag(ELoc, diag::err_omp_wrong_dsa) << getOpenMPClauseName(DVar.CKind)
17154 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17196 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17296 DSAStackTy::DSAVarData DVar =
17298 TopDVar = DVar;
17308 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_firstprivate &&
17310 DVar.CKind != OMPC_lastprivate) &&
17311 DVar.RefExpr) {
17313 << getOpenMPClauseName(DVar.CKind)
17315 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17330 if (!(IsConstant || (VD && VD->isStaticDataMember())) && !DVar.RefExpr &&
17331 DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_shared) {
17333 << getOpenMPClauseName(DVar.CKind)
17335 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17358 DVar = DSAStack->getImplicitDSA(D, true);
17359 if (DVar.CKind != OMPC_shared &&
17360 (isOpenMPParallelDirective(DVar.DKind) ||
17361 isOpenMPTeamsDirective(DVar.DKind) ||
17362 DVar.DKind == OMPD_unknown)) {
17366 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17382 DVar = DSAStack->hasInnermostDSA(
17393 if (DVar.CKind == OMPC_reduction &&
17394 (isOpenMPParallelDirective(DVar.DKind) ||
17395 isOpenMPWorksharingDirective(DVar.DKind) ||
17396 isOpenMPTeamsDirective(DVar.DKind))) {
17398 << getOpenMPDirectiveName(DVar.DKind);
17399 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17428 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17615 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false);
17616 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_lastprivate &&
17618 DVar.CKind != OMPC_firstprivate) &&
17619 (DVar.CKind != OMPC_private || DVar.RefExpr != nullptr)) {
17621 << getOpenMPClauseName(DVar.CKind)
17623 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17633 DSAStackTy::DSAVarData TopDVar = DVar;
17637 DVar = DSAStack->getImplicitDSA(D, true);
17638 if (DVar.CKind != OMPC_shared) {
17642 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17746 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false);
17747 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_shared &&
17748 DVar.RefExpr) {
17749 Diag(ELoc, diag::err_omp_wrong_dsa) << getOpenMPClauseName(DVar.CKind)
17751 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
17779 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(VD, /*FromParent=*/false);
17780 if (DVar.CKind == OMPC_shared && !DVar.RefExpr)
17782 if (DVar.CKind != OMPC_unknown)
18421 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(D, /*FromParent=*/false);
18422 if (DVar.CKind == OMPC_reduction) {
18425 if (DVar.RefExpr)
18426 S.Diag(DVar.RefExpr->getExprLoc(), diag::note_omp_referenced);
18429 if (DVar.CKind != OMPC_unknown) {
18431 << getOpenMPClauseName(DVar.CKind)
18433 reportOriginalDsa(S, Stack, D, DVar);
18444 DVar = Stack->getImplicitDSA(D, true);
18445 if (DVar.CKind != OMPC_shared) {
18449 reportOriginalDsa(S, Stack, D, DVar);
18456 DSAStackTy::DSAVarData DVar = Stack->getTopDSA(D, /*FromParent=*/false);
18457 if (DVar.CKind == OMPC_threadprivate) {
18459 << getOpenMPClauseName(DVar.CKind)
18461 reportOriginalDsa(S, Stack, D, DVar);
19122 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false);
19123 if (DVar.RefExpr) {
19124 Diag(ELoc, diag::err_omp_wrong_dsa) << getOpenMPClauseName(DVar.CKind)
19126 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
19530 DSAStackTy::DSAVarData DVar =
19532 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_copyprivate &&
19533 DVar.RefExpr) {
19535 << getOpenMPClauseName(DVar.CKind)
19537 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
19544 if (DVar.CKind == OMPC_unknown) {
19545 DVar = DSAStack->getImplicitDSA(D, false);
19546 if (DVar.CKind == OMPC_shared) {
19550 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
21062 DSAStackTy::DSAVarData DVar = DSAS->getTopDSA(VD, /*FromParent=*/false);
21065 reportOriginalDsa(SemaRef, DSAS, VD, DVar);
21198 DSAStackTy::DSAVarData DVar = DSAS->getTopDSA(VD, /*FromParent=*/false);
21199 if (isOpenMPPrivate(DVar.CKind)) {
21201 << getOpenMPClauseName(DVar.CKind)
21204 reportOriginalDsa(SemaRef, DSAS, CurDeclaration, DVar);
21916 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(VD, /*FromParent=*/false);
21917 if (DVar.CKind != OMPC_unknown && DVar.CKind != OMPC_firstprivate &&
21918 DVar.RefExpr) {
21920 << getOpenMPClauseName(DVar.CKind)
21922 reportOriginalDsa(SemaRef, DSAStack, VD, DVar);
22620 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false);
22621 if (isOpenMPPrivate(DVar.CKind)) {
22623 << getOpenMPClauseName(DVar.CKind)
22626 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
22696 DSAStackTy::DSAVarData DVar = DSAStack->getTopDSA(D, /*FromParent=*/false);
22697 if (isOpenMPPrivate(DVar.CKind)) {
22699 << getOpenMPClauseName(DVar.CKind)
22702 reportOriginalDsa(SemaRef, DSAStack, D, DVar);
22897 const DSAStackTy::DSAVarData DVar =
22903 if (DVar.CKind != OMPC_reduction || DVar.Modifier != OMPC_REDUCTION_inscan)
22939 DSAStackTy::DSAVarData DVar;
22941 DVar = DSAStack->getTopDSA(D, /*FromParent=*/true);
22946 if (ParentDirective == OMPD_unknown || DVar.CKind != OMPC_reduction ||
22947 DVar.Modifier != OMPC_REDUCTION_inscan) {