From 513e4bd1d479219a88a92429359ebcb8762e2c8f Mon Sep 17 00:00:00 2001 From: Roman Lebedev Date: Thu, 9 May 2019 10:48:13 +0000 Subject: [PATCH] Revert "[OPENMP]Fix PR41768: check DSA for globals with `default(none)` clauses." This has introduced (exposed?) a crash in clang sema, that does not happen without this patch. I'll followup in the original bugreport and commit with reproducer. This reverts commit r360061. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@360327 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Basic/DiagnosticSemaKinds.td | 2 -- lib/Sema/SemaOpenMP.cpp | 8 +------- .../distribute_parallel_for_default_messages.cpp | 8 ++++---- test/OpenMP/distribute_parallel_for_messages.cpp | 2 +- ...stribute_parallel_for_simd_default_messages.cpp | 8 ++++---- test/OpenMP/parallel_default_messages.cpp | 6 +++--- test/OpenMP/parallel_for_default_messages.cpp | 6 +++--- test/OpenMP/parallel_for_messages.cpp | 2 +- test/OpenMP/parallel_for_simd_default_messages.cpp | 6 +++--- test/OpenMP/parallel_for_simd_messages.cpp | 2 +- test/OpenMP/parallel_messages.cpp | 8 ++------ test/OpenMP/parallel_sections_default_messages.cpp | 4 ++-- test/OpenMP/parallel_sections_messages.cpp | 2 +- test/OpenMP/report_default_DSA.cpp | 2 +- test/OpenMP/target_parallel_default_messages.cpp | 4 ++-- .../target_parallel_for_default_messages.cpp | 4 ++-- test/OpenMP/target_parallel_for_messages.cpp | 2 +- .../target_parallel_for_simd_default_messages.cpp | 4 ++-- test/OpenMP/target_parallel_for_simd_messages.cpp | 2 +- test/OpenMP/target_teams_default_messages.cpp | 4 ++-- .../target_teams_distribute_default_messages.cpp | 2 +- test/OpenMP/target_teams_distribute_messages.cpp | 2 +- ...ms_distribute_parallel_for_default_messages.cpp | 2 +- ...rget_teams_distribute_parallel_for_messages.cpp | 2 +- ...stribute_parallel_for_simd_default_messages.cpp | 2 +- ...teams_distribute_parallel_for_simd_messages.cpp | 2 +- test/OpenMP/target_teams_messages.cpp | 6 +++--- test/OpenMP/task_default_messages.cpp | 4 ++-- test/OpenMP/task_firstprivate_messages.cpp | 2 +- test/OpenMP/task_messages.cpp | 14 +++++++------- test/OpenMP/teams_default_messages.cpp | 4 ++-- test/OpenMP/teams_distribute_default_messages.cpp | 2 +- ...ms_distribute_parallel_for_default_messages.cpp | 2 +- .../teams_distribute_parallel_for_messages.cpp | 2 +- ...stribute_parallel_for_simd_default_messages.cpp | 2 +- ...teams_distribute_parallel_for_simd_messages.cpp | 2 +- .../teams_distribute_simd_default_messages.cpp | 2 +- test/OpenMP/teams_distribute_simd_messages.cpp | 2 +- test/OpenMP/teams_messages.cpp | 2 +- 39 files changed, 66 insertions(+), 78 deletions(-) diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td index be4d43faf8..9f011ea429 100644 --- a/include/clang/Basic/DiagnosticSemaKinds.td +++ b/include/clang/Basic/DiagnosticSemaKinds.td @@ -8821,8 +8821,6 @@ def err_omp_threadprivate_incomplete_type : Error< "threadprivate variable with incomplete type %0">; def err_omp_no_dsa_for_variable : Error< "variable %0 must have explicitly specified data sharing attributes">; -def note_omp_default_dsa_none : Note< - "explicit data sharing attribute requested here">; def err_omp_wrong_dsa : Error< "%0 variable cannot be %1">; def err_omp_variably_modified_type_not_supported : Error< diff --git a/lib/Sema/SemaOpenMP.cpp b/lib/Sema/SemaOpenMP.cpp index 276f1506c4..0aebd8e03a 100644 --- a/lib/Sema/SemaOpenMP.cpp +++ b/lib/Sema/SemaOpenMP.cpp @@ -1777,15 +1777,10 @@ VarDecl *Sema::isOpenMPCapturedDecl(ValueDecl *D) { DSAStack->getTopDSA(D, DSAStack->isClauseParsingMode()); if (DVarPrivate.CKind != OMPC_unknown && isOpenMPPrivate(DVarPrivate.CKind)) return VD ? VD : cast(DVarPrivate.PrivateCopy->getDecl()); - if (VD && DSAStack->getDefaultDSA() == DSA_none) - return VD; DVarPrivate = DSAStack->hasDSA(D, isOpenMPPrivate, [](OpenMPDirectiveKind) { return true; }, DSAStack->isClauseParsingMode()); - // The variable is not private or it is the variable in the directive with - // default(none) clause and not used in any clause. - if (DVarPrivate.CKind != OMPC_unknown || - (VD && DSAStack->getDefaultDSA() == DSA_none)) + if (DVarPrivate.CKind != OMPC_unknown) return VD ? VD : cast(DVarPrivate.PrivateCopy->getDecl()); } return nullptr; @@ -4189,7 +4184,6 @@ StmtResult Sema::ActOnOpenMPExecutableDirective( for (const auto &P : VarsWithInheritedDSA) { Diag(P.second->getExprLoc(), diag::err_omp_no_dsa_for_variable) << P.first << P.second->getSourceRange(); - Diag(DSAStack->getDefaultDSALocation(), diag::note_omp_default_dsa_none); } ErrorFound = !VarsWithInheritedDSA.empty() || ErrorFound; diff --git a/test/OpenMP/distribute_parallel_for_default_messages.cpp b/test/OpenMP/distribute_parallel_for_default_messages.cpp index 19042ef8a5..cb9cbcf6ba 100644 --- a/test/OpenMP/distribute_parallel_for_default_messages.cpp +++ b/test/OpenMP/distribute_parallel_for_default_messages.cpp @@ -24,7 +24,7 @@ T tmain(T argc) { foo(); #pragma omp target #pragma omp teams -#pragma omp distribute parallel for default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-note 2 {{explicit data sharing attribute requested here}} +#pragma omp distribute parallel for default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} for (i = 0; i < argc; ++i) // expected-error 2 {{variable 'argc' must have explicitly specified data sharing attributes}} foo(); #pragma omp target @@ -39,7 +39,7 @@ T tmain(T argc) { foo(); #pragma omp target #pragma omp teams -#pragma omp distribute parallel for default(none) // expected-note 2 {{explicit data sharing attribute requested here}} +#pragma omp distribute parallel for default(none) for (i = 0; i < argc; ++i) // expected-error 2 {{variable 'argc' must have explicitly specified data sharing attributes}} foo(); @@ -72,7 +72,7 @@ int main(int argc, char **argv) { foo(); #pragma omp target #pragma omp teams -#pragma omp distribute parallel for default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-note {{explicit data sharing attribute requested here}} +#pragma omp distribute parallel for default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} for (i = 0; i < argc; ++i) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} foo(); #pragma omp target @@ -87,7 +87,7 @@ int main(int argc, char **argv) { foo(); #pragma omp target #pragma omp teams -#pragma omp distribute parallel for default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp distribute parallel for default(none) for (i = 0; i < argc; ++i) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} foo(); diff --git a/test/OpenMP/distribute_parallel_for_messages.cpp b/test/OpenMP/distribute_parallel_for_messages.cpp index 6bda5d106b..5ea73a88fc 100644 --- a/test/OpenMP/distribute_parallel_for_messages.cpp +++ b/test/OpenMP/distribute_parallel_for_messages.cpp @@ -81,7 +81,7 @@ L1: } #pragma omp target #pragma omp teams -#pragma omp distribute parallel for default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp distribute parallel for default(none) for (int i = 0; i < 10; ++i) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} diff --git a/test/OpenMP/distribute_parallel_for_simd_default_messages.cpp b/test/OpenMP/distribute_parallel_for_simd_default_messages.cpp index 80f88a17ce..3014d039d2 100644 --- a/test/OpenMP/distribute_parallel_for_simd_default_messages.cpp +++ b/test/OpenMP/distribute_parallel_for_simd_default_messages.cpp @@ -24,7 +24,7 @@ T tmain(T argc) { foo(); #pragma omp target #pragma omp teams -#pragma omp distribute parallel for simd default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-note 2 {{explicit data sharing attribute requested here}} +#pragma omp distribute parallel for simd default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} for (i = 0; i < argc; ++i) // expected-error 2 {{variable 'argc' must have explicitly specified data sharing attributes}} foo(); #pragma omp target @@ -39,7 +39,7 @@ T tmain(T argc) { foo(); #pragma omp target #pragma omp teams -#pragma omp distribute parallel for simd default(none) // expected-note 2 {{explicit data sharing attribute requested here}} +#pragma omp distribute parallel for simd default(none) for (i = 0; i < argc; ++i) // expected-error 2 {{variable 'argc' must have explicitly specified data sharing attributes}} foo(); @@ -72,7 +72,7 @@ int main(int argc, char **argv) { foo(); #pragma omp target #pragma omp teams -#pragma omp distribute parallel for simd default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-note {{explicit data sharing attribute requested here}} +#pragma omp distribute parallel for simd default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} for (i = 0; i < argc; ++i) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} foo(); #pragma omp target @@ -87,7 +87,7 @@ int main(int argc, char **argv) { foo(); #pragma omp target #pragma omp teams -#pragma omp distribute parallel for simd default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp distribute parallel for simd default(none) for (i = 0; i < argc; ++i) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} foo(); diff --git a/test/OpenMP/parallel_default_messages.cpp b/test/OpenMP/parallel_default_messages.cpp index 440e91b103..eb4b378f0d 100644 --- a/test/OpenMP/parallel_default_messages.cpp +++ b/test/OpenMP/parallel_default_messages.cpp @@ -18,14 +18,14 @@ int main(int argc, char **argv) { #pragma omp parallel default (x) // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}} foo(); - #pragma omp parallel default(none) // expected-note {{explicit data sharing attribute requested here}} + #pragma omp parallel default(none) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} - #pragma omp parallel default(none) // expected-note {{explicit data sharing attribute requested here}} + #pragma omp parallel default(none) #pragma omp parallel default(shared) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} - #pragma omp parallel default(none) // ge40-note {{explicit data sharing attribute requested here}} + #pragma omp parallel default(none) (void)c; // ge40-error {{variable 'c' must have explicitly specified data sharing attributes}} return 0; } diff --git a/test/OpenMP/parallel_for_default_messages.cpp b/test/OpenMP/parallel_for_default_messages.cpp index 8baa2f6c04..95f6c9193e 100644 --- a/test/OpenMP/parallel_for_default_messages.cpp +++ b/test/OpenMP/parallel_for_default_messages.cpp @@ -15,7 +15,7 @@ int main(int argc, char **argv) { #pragma omp parallel for default() // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}} for (i = 0; i < argc; ++i) foo(); -#pragma omp parallel for default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-note {{explicit data sharing attribute requested here}} +#pragma omp parallel for default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} for (i = 0; i < argc; ++i) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} foo(); #pragma omp parallel for default(shared), default(shared) // expected-error {{directive '#pragma omp parallel for' cannot contain more than one 'default' clause}} @@ -25,11 +25,11 @@ int main(int argc, char **argv) { for (i = 0; i < argc; ++i) foo(); -#pragma omp parallel for default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp parallel for default(none) for (i = 0; i < argc; ++i) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} foo(); -#pragma omp parallel default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp parallel default(none) #pragma omp parallel for default(shared) for (i = 0; i < argc; ++i) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} foo(); diff --git a/test/OpenMP/parallel_for_messages.cpp b/test/OpenMP/parallel_for_messages.cpp index f5aa6e6647..9ab4bccfc9 100644 --- a/test/OpenMP/parallel_for_messages.cpp +++ b/test/OpenMP/parallel_for_messages.cpp @@ -58,7 +58,7 @@ L1: break; } } -#pragma omp parallel for default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp parallel for default(none) for (int i = 0; i < 10; ++i) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} diff --git a/test/OpenMP/parallel_for_simd_default_messages.cpp b/test/OpenMP/parallel_for_simd_default_messages.cpp index 7b30e4106a..6d751449bc 100644 --- a/test/OpenMP/parallel_for_simd_default_messages.cpp +++ b/test/OpenMP/parallel_for_simd_default_messages.cpp @@ -15,7 +15,7 @@ int main(int argc, char **argv) { #pragma omp parallel for simd default() // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}} for (i = 0; i < argc; ++i) foo(); -#pragma omp parallel for simd default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-note {{explicit data sharing attribute requested here}} +#pragma omp parallel for simd default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} for (i = 0; i < argc; ++i) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} foo(); #pragma omp parallel for simd default(shared), default(shared) // expected-error {{directive '#pragma omp parallel for simd' cannot contain more than one 'default' clause}} @@ -25,11 +25,11 @@ int main(int argc, char **argv) { for (i = 0; i < argc; ++i) foo(); -#pragma omp parallel for simd default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp parallel for simd default(none) for (i = 0; i < argc; ++i) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} foo(); -#pragma omp parallel default(none) // expected-note 2 {{explicit data sharing attribute requested here}} +#pragma omp parallel default(none) #pragma omp parallel for simd default(shared) for (i = 0; i < argc; ++i) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} expected-error {{variable 'i' must have explicitly specified data sharing attributes}} foo(); diff --git a/test/OpenMP/parallel_for_simd_messages.cpp b/test/OpenMP/parallel_for_simd_messages.cpp index 77b9b0851e..f1d4c5b935 100644 --- a/test/OpenMP/parallel_for_simd_messages.cpp +++ b/test/OpenMP/parallel_for_simd_messages.cpp @@ -58,7 +58,7 @@ L1: break; } } -#pragma omp parallel for simd default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp parallel for simd default(none) for (int i = 0; i < 10; ++i) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} diff --git a/test/OpenMP/parallel_messages.cpp b/test/OpenMP/parallel_messages.cpp index 49fc2305ff..8b0c0353c2 100644 --- a/test/OpenMP/parallel_messages.cpp +++ b/test/OpenMP/parallel_messages.cpp @@ -7,7 +7,6 @@ void foo() { #pragma omp parallel // expected-error {{unexpected OpenMP directive '#pragma omp parallel'}} -int a; struct S; S& bar(); int main(int argc, char **argv) { @@ -55,11 +54,8 @@ int main(int argc, char **argv) { break; } } -#pragma omp parallel default(none) // expected-note 2 {{explicit data sharing attribute requested here}} - { - ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} - ++a; // expected-error {{variable 'a' must have explicitly specified data sharing attributes}} - } + #pragma omp parallel default(none) + ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} goto L2; // expected-error {{use of undeclared label 'L2'}} #pragma omp parallel diff --git a/test/OpenMP/parallel_sections_default_messages.cpp b/test/OpenMP/parallel_sections_default_messages.cpp index 3d2e74933f..b16e5f7369 100644 --- a/test/OpenMP/parallel_sections_default_messages.cpp +++ b/test/OpenMP/parallel_sections_default_messages.cpp @@ -25,12 +25,12 @@ int main(int argc, char **argv) { } } -#pragma omp parallel sections default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp parallel sections default(none) { ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} } -#pragma omp parallel sections default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp parallel sections default(none) { #pragma omp parallel sections default(shared) { diff --git a/test/OpenMP/parallel_sections_messages.cpp b/test/OpenMP/parallel_sections_messages.cpp index 81f0c517cd..459953acd9 100644 --- a/test/OpenMP/parallel_sections_messages.cpp +++ b/test/OpenMP/parallel_sections_messages.cpp @@ -62,7 +62,7 @@ int main(int argc, char **argv) { break; } } -#pragma omp parallel sections default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp parallel sections default(none) { ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} } diff --git a/test/OpenMP/report_default_DSA.cpp b/test/OpenMP/report_default_DSA.cpp index d6f8158b0e..ba620a4ce8 100644 --- a/test/OpenMP/report_default_DSA.cpp +++ b/test/OpenMP/report_default_DSA.cpp @@ -7,7 +7,7 @@ void foo(int x, int n) { for (int iter = 0; iter < x; iter++) { #pragma omp target teams distribute parallel for map( \ from \ - : vec [0:n]) default(none) // expected-note 4 {{explicit data sharing attribute requested here}} + : vec [0:n]) default(none) // expected-error@+1 {{variable 'n' must have explicitly specified data sharing attributes}} for (int ii = 0; ii < n; ii++) { // expected-error@+3 {{variable 'iter' must have explicitly specified data sharing attributes}} diff --git a/test/OpenMP/target_parallel_default_messages.cpp b/test/OpenMP/target_parallel_default_messages.cpp index 0aab663b0b..9fb3fac697 100644 --- a/test/OpenMP/target_parallel_default_messages.cpp +++ b/test/OpenMP/target_parallel_default_messages.cpp @@ -18,14 +18,14 @@ int main(int argc, char **argv) { #pragma omp target parallel default (x) // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}} foo(); - #pragma omp target parallel default(none) // expected-note {{explicit data sharing attribute requested here}} + #pragma omp target parallel default(none) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} #pragma omp target parallel default(none) foo(); #pragma omp target parallel default(shared) ++argc; - #pragma omp target parallel default(none) // expected-note {{explicit data sharing attribute requested here}} + #pragma omp target parallel default(none) #pragma omp parallel default(shared) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} return 0; diff --git a/test/OpenMP/target_parallel_for_default_messages.cpp b/test/OpenMP/target_parallel_for_default_messages.cpp index aba3b30067..94049cd37b 100644 --- a/test/OpenMP/target_parallel_for_default_messages.cpp +++ b/test/OpenMP/target_parallel_for_default_messages.cpp @@ -15,7 +15,7 @@ int main(int argc, char **argv) { #pragma omp target parallel for default() // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}} for (i = 0; i < argc; ++i) foo(); -#pragma omp target parallel for default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-note {{explicit data sharing attribute requested here}} +#pragma omp target parallel for default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} for (i = 0; i < argc; ++i) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} foo(); #pragma omp target parallel for default(shared), default(shared) // expected-error {{directive '#pragma omp target parallel for' cannot contain more than one 'default' clause}} @@ -25,7 +25,7 @@ int main(int argc, char **argv) { for (i = 0; i < argc; ++i) foo(); -#pragma omp target parallel for default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp target parallel for default(none) for (i = 0; i < argc; ++i) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} foo(); diff --git a/test/OpenMP/target_parallel_for_messages.cpp b/test/OpenMP/target_parallel_for_messages.cpp index c454987e25..6bf4ac2807 100644 --- a/test/OpenMP/target_parallel_for_messages.cpp +++ b/test/OpenMP/target_parallel_for_messages.cpp @@ -61,7 +61,7 @@ L1: break; } } -#pragma omp target parallel for default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp target parallel for default(none) for (int i = 0; i < 10; ++i) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} diff --git a/test/OpenMP/target_parallel_for_simd_default_messages.cpp b/test/OpenMP/target_parallel_for_simd_default_messages.cpp index 4b634e5116..b67bfc52e7 100644 --- a/test/OpenMP/target_parallel_for_simd_default_messages.cpp +++ b/test/OpenMP/target_parallel_for_simd_default_messages.cpp @@ -15,7 +15,7 @@ int main(int argc, char **argv) { #pragma omp target parallel for simd default() // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}} for (i = 0; i < argc; ++i) foo(); -#pragma omp target parallel for simd default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-note {{explicit data sharing attribute requested here}} +#pragma omp target parallel for simd default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} for (i = 0; i < argc; ++i) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} foo(); #pragma omp target parallel for simd default(shared), default(shared) // expected-error {{directive '#pragma omp target parallel for simd' cannot contain more than one 'default' clause}} @@ -25,7 +25,7 @@ int main(int argc, char **argv) { for (i = 0; i < argc; ++i) foo(); -#pragma omp target parallel for simd default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp target parallel for simd default(none) for (i = 0; i < argc; ++i) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} foo(); diff --git a/test/OpenMP/target_parallel_for_simd_messages.cpp b/test/OpenMP/target_parallel_for_simd_messages.cpp index 76090e8553..c0e03289d7 100644 --- a/test/OpenMP/target_parallel_for_simd_messages.cpp +++ b/test/OpenMP/target_parallel_for_simd_messages.cpp @@ -61,7 +61,7 @@ L1: break; } } -#pragma omp target parallel for simd default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp target parallel for simd default(none) for (int i = 0; i < 10; ++i) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} diff --git a/test/OpenMP/target_teams_default_messages.cpp b/test/OpenMP/target_teams_default_messages.cpp index a144fa05f1..18520d9e8d 100644 --- a/test/OpenMP/target_teams_default_messages.cpp +++ b/test/OpenMP/target_teams_default_messages.cpp @@ -18,10 +18,10 @@ int main(int argc, char **argv) { #pragma omp target teams default (x) // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}} foo(); -#pragma omp target teams default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp target teams default(none) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} -#pragma omp target teams default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp target teams default(none) #pragma omp parallel default(shared) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} return 0; diff --git a/test/OpenMP/target_teams_distribute_default_messages.cpp b/test/OpenMP/target_teams_distribute_default_messages.cpp index 539a296f26..2a3229dde5 100644 --- a/test/OpenMP/target_teams_distribute_default_messages.cpp +++ b/test/OpenMP/target_teams_distribute_default_messages.cpp @@ -18,7 +18,7 @@ int main(int argc, char **argv) { #pragma omp target teams distribute default (x) // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}} for (int i=0; i<200; i++) foo(); - #pragma omp target teams distribute default(none) // expected-note {{explicit data sharing attribute requested here}} + #pragma omp target teams distribute default(none) for (int i=0; i<200; i++) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} return 0; diff --git a/test/OpenMP/target_teams_distribute_messages.cpp b/test/OpenMP/target_teams_distribute_messages.cpp index 7b2080ae2b..d3be0f632b 100644 --- a/test/OpenMP/target_teams_distribute_messages.cpp +++ b/test/OpenMP/target_teams_distribute_messages.cpp @@ -61,7 +61,7 @@ L1: break; } } -#pragma omp target teams distribute default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp target teams distribute default(none) for (int i = 0; i < 10; ++i) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} diff --git a/test/OpenMP/target_teams_distribute_parallel_for_default_messages.cpp b/test/OpenMP/target_teams_distribute_parallel_for_default_messages.cpp index d5ea823858..d7c3fbaa9c 100644 --- a/test/OpenMP/target_teams_distribute_parallel_for_default_messages.cpp +++ b/test/OpenMP/target_teams_distribute_parallel_for_default_messages.cpp @@ -18,7 +18,7 @@ int main(int argc, char **argv) { #pragma omp target teams distribute parallel for default (x) // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}} for (int i=0; i<200; i++) foo(); -#pragma omp target teams distribute parallel for default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp target teams distribute parallel for default(none) for (int i=0; i<200; i++) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} return 0; diff --git a/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp b/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp index e70c5df389..551acd2e8f 100644 --- a/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp +++ b/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp @@ -61,7 +61,7 @@ L1: break; } } -#pragma omp target teams distribute parallel for default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp target teams distribute parallel for default(none) for (int i = 0; i < 10; ++i) ++argc; // expected-error {{ariable 'argc' must have explicitly specified data sharing attributes}} diff --git a/test/OpenMP/target_teams_distribute_parallel_for_simd_default_messages.cpp b/test/OpenMP/target_teams_distribute_parallel_for_simd_default_messages.cpp index d832d8cf16..a81aacea4a 100644 --- a/test/OpenMP/target_teams_distribute_parallel_for_simd_default_messages.cpp +++ b/test/OpenMP/target_teams_distribute_parallel_for_simd_default_messages.cpp @@ -23,7 +23,7 @@ int main(int argc, char **argv) { #pragma omp target teams distribute parallel for simd default (x) // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}} for (int i=0; i<200; i++) foo(); -#pragma omp target teams distribute parallel for simd default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp target teams distribute parallel for simd default(none) for (int i=0; i<200; i++) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} return 0; diff --git a/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp b/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp index a98f7d83ec..58e8862347 100644 --- a/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp +++ b/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp @@ -62,7 +62,7 @@ L1: break; } } -#pragma omp target teams distribute parallel for simd default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp target teams distribute parallel for simd default(none) for (int i = 0; i < 10; ++i) ++argc; // expected-error {{ariable 'argc' must have explicitly specified data sharing attributes}} diff --git a/test/OpenMP/target_teams_messages.cpp b/test/OpenMP/target_teams_messages.cpp index 362767ef1d..bc068f87b6 100644 --- a/test/OpenMP/target_teams_messages.cpp +++ b/test/OpenMP/target_teams_messages.cpp @@ -47,14 +47,14 @@ int main(int argc, char **argv) { break; } } -#pragma omp target teams default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp target teams default(none) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} -#pragma omp target teams default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp target teams default(none) #pragma omp parallel num_threads(argc) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} ; -#pragma omp target teams default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp target teams default(none) { #pragma omp parallel num_threads(argc) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} ; diff --git a/test/OpenMP/task_default_messages.cpp b/test/OpenMP/task_default_messages.cpp index 0eb26856e7..046e388c14 100644 --- a/test/OpenMP/task_default_messages.cpp +++ b/test/OpenMP/task_default_messages.cpp @@ -13,10 +13,10 @@ int main(int argc, char **argv) { #pragma omp task default(x) // expected-error {{expected 'none' or 'shared' in OpenMP clause 'default'}} foo(); -#pragma omp task default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp task default(none) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} -#pragma omp task default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp task default(none) #pragma omp task default(shared) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} return 0; diff --git a/test/OpenMP/task_firstprivate_messages.cpp b/test/OpenMP/task_firstprivate_messages.cpp index f299c75518..b34cda78d1 100644 --- a/test/OpenMP/task_firstprivate_messages.cpp +++ b/test/OpenMP/task_firstprivate_messages.cpp @@ -23,7 +23,7 @@ template struct S { T b; S(T a, T c) { -#pragma omp task default(none) firstprivate(a, b) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp task default(none) firstprivate(a, b) a = b = c; // expected-error {{variable 'c' must have explicitly specified data sharing attributes}} } }; diff --git a/test/OpenMP/task_messages.cpp b/test/OpenMP/task_messages.cpp index 92bb14983b..d490c7f8ea 100644 --- a/test/OpenMP/task_messages.cpp +++ b/test/OpenMP/task_messages.cpp @@ -38,10 +38,10 @@ int foo() { #pragma omp task // expected-note@+1 2 {{predetermined as a firstprivate in a task construct here}} ++s1; -#pragma omp task default(none) // expected-note 2 {{explicit data sharing attribute requested here}} +#pragma omp task default(none) #pragma omp task default(shared) ++a; // expected-error 2 {{variable 'a' must have explicitly specified data sharing attributes}} -#pragma omp task default(none) // expected-note 2 {{explicit data sharing attribute requested here}} +#pragma omp task default(none) #pragma omp task // expected-error@+1 {{calling a private constructor of class 'S'}} ++a; // expected-error 2 {{variable 'a' must have explicitly specified data sharing attributes}} @@ -167,7 +167,7 @@ L1: break; } } -#pragma omp task default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp task default(none) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} goto L2; // expected-error {{use of undeclared label 'L2'}} @@ -184,10 +184,10 @@ L2: for (int n = 0; n < 100; ++n) { } -#pragma omp task default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp task default(none) #pragma omp task default(shared) ++a; // expected-error {{variable 'a' must have explicitly specified data sharing attributes}} -#pragma omp task default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp task default(none) #pragma omp task ++a; // expected-error {{variable 'a' must have explicitly specified data sharing attributes}} #pragma omp task default(shared) @@ -201,10 +201,10 @@ L2: #pragma omp task #pragma omp parallel shared(a, b) ++a, ++b; -#pragma omp task default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp task default(none) #pragma omp task default(shared) ++sa; // expected-error {{variable 'sa' must have explicitly specified data sharing attributes}} -#pragma omp task default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp task default(none) #pragma omp task // expected-error@+1 {{calling a private constructor of class 'S'}} ++sa; // expected-error {{variable 'sa' must have explicitly specified data sharing attributes}} diff --git a/test/OpenMP/teams_default_messages.cpp b/test/OpenMP/teams_default_messages.cpp index 28a5e2902c..c032f5e482 100644 --- a/test/OpenMP/teams_default_messages.cpp +++ b/test/OpenMP/teams_default_messages.cpp @@ -25,11 +25,11 @@ int main(int argc, char **argv) { foo(); #pragma omp target - #pragma omp teams default(none) // expected-note {{explicit data sharing attribute requested here}} + #pragma omp teams default(none) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} #pragma omp target - #pragma omp teams default(none) // expected-note {{explicit data sharing attribute requested here}} + #pragma omp teams default(none) #pragma omp parallel default(shared) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} return 0; diff --git a/test/OpenMP/teams_distribute_default_messages.cpp b/test/OpenMP/teams_distribute_default_messages.cpp index 9ebce9aea0..5e8702a99d 100644 --- a/test/OpenMP/teams_distribute_default_messages.cpp +++ b/test/OpenMP/teams_distribute_default_messages.cpp @@ -25,7 +25,7 @@ int main(int argc, char **argv) { for (int i=0; i<200; i++) foo(); #pragma omp target - #pragma omp teams distribute default(none) // expected-note {{explicit data sharing attribute requested here}} + #pragma omp teams distribute default(none) for (int i=0; i<200; i++) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} return 0; diff --git a/test/OpenMP/teams_distribute_parallel_for_default_messages.cpp b/test/OpenMP/teams_distribute_parallel_for_default_messages.cpp index efc139d84a..e5b3331520 100644 --- a/test/OpenMP/teams_distribute_parallel_for_default_messages.cpp +++ b/test/OpenMP/teams_distribute_parallel_for_default_messages.cpp @@ -25,7 +25,7 @@ int main(int argc, char **argv) { for (int i=0; i<200; i++) foo(); #pragma omp target - #pragma omp teams distribute parallel for default(none) // expected-note {{explicit data sharing attribute requested here}} + #pragma omp teams distribute parallel for default(none) for (int i=0; i<200; i++) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} return 0; diff --git a/test/OpenMP/teams_distribute_parallel_for_messages.cpp b/test/OpenMP/teams_distribute_parallel_for_messages.cpp index b861783842..57ad666380 100644 --- a/test/OpenMP/teams_distribute_parallel_for_messages.cpp +++ b/test/OpenMP/teams_distribute_parallel_for_messages.cpp @@ -76,7 +76,7 @@ L1: } } #pragma omp target -#pragma omp teams distribute parallel for default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp teams distribute parallel for default(none) for (int i = 0; i < 10; ++i) ++argc; // expected-error {{ariable 'argc' must have explicitly specified data sharing attributes}} diff --git a/test/OpenMP/teams_distribute_parallel_for_simd_default_messages.cpp b/test/OpenMP/teams_distribute_parallel_for_simd_default_messages.cpp index 4de844737a..8db9d668fd 100644 --- a/test/OpenMP/teams_distribute_parallel_for_simd_default_messages.cpp +++ b/test/OpenMP/teams_distribute_parallel_for_simd_default_messages.cpp @@ -25,7 +25,7 @@ int main(int argc, char **argv) { for (int i=0; i<200; i++) foo(); #pragma omp target - #pragma omp teams distribute parallel for simd default(none) // expected-note {{explicit data sharing attribute requested here}} + #pragma omp teams distribute parallel for simd default(none) for (int i=0; i<200; i++) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} return 0; diff --git a/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp b/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp index e95ddfc669..d27e156161 100644 --- a/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp +++ b/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp @@ -76,7 +76,7 @@ L1: } } #pragma omp target -#pragma omp teams distribute parallel for simd default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp teams distribute parallel for simd default(none) for (int i = 0; i < 10; ++i) ++argc; // expected-error {{ariable 'argc' must have explicitly specified data sharing attributes}} diff --git a/test/OpenMP/teams_distribute_simd_default_messages.cpp b/test/OpenMP/teams_distribute_simd_default_messages.cpp index 8f6db01efb..af176f46cb 100644 --- a/test/OpenMP/teams_distribute_simd_default_messages.cpp +++ b/test/OpenMP/teams_distribute_simd_default_messages.cpp @@ -25,7 +25,7 @@ int main(int argc, char **argv) { for (int i=0; i<200; i++) foo(); #pragma omp target - #pragma omp teams distribute simd default(none) // expected-note {{explicit data sharing attribute requested here}} + #pragma omp teams distribute simd default(none) for (int i=0; i<200; i++) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} return 0; diff --git a/test/OpenMP/teams_distribute_simd_messages.cpp b/test/OpenMP/teams_distribute_simd_messages.cpp index 7a99e3f352..79128706bc 100644 --- a/test/OpenMP/teams_distribute_simd_messages.cpp +++ b/test/OpenMP/teams_distribute_simd_messages.cpp @@ -76,7 +76,7 @@ L1: } } #pragma omp target -#pragma omp teams distribute simd default(none) // expected-note {{explicit data sharing attribute requested here}} +#pragma omp teams distribute simd default(none) for (int i = 0; i < 10; ++i) ++argc; // expected-error {{ariable 'argc' must have explicitly specified data sharing attributes}} diff --git a/test/OpenMP/teams_messages.cpp b/test/OpenMP/teams_messages.cpp index bba7da2e0e..6ed3be9da5 100644 --- a/test/OpenMP/teams_messages.cpp +++ b/test/OpenMP/teams_messages.cpp @@ -63,7 +63,7 @@ int main(int argc, char **argv) { } } #pragma omp target - #pragma omp teams default(none) // expected-note {{explicit data sharing attribute requested here}} + #pragma omp teams default(none) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}} goto L2; // expected-error {{use of undeclared label 'L2'}} -- 2.40.0