r360061 - [OPENMP]Fix PR41768: check DSA for globals with `default(none)` clauses.

Roman Lebedev via cfe-commits cfe-commits at lists.llvm.org
Mon May 6 10:52:10 PDT 2019


Thank you!

On Mon, May 6, 2019 at 8:46 PM Alexey Bataev via cfe-commits
<cfe-commits at lists.llvm.org> wrote:
>
> Author: abataev
> Date: Mon May  6 10:49:22 2019
> New Revision: 360061
>
> URL: http://llvm.org/viewvc/llvm-project?rev=360061&view=rev
> Log:
> [OPENMP]Fix PR41768: check DSA for globals with `default(none)` clauses.
>
> If the `default(none)` was specified for the construct, we might miss
> diagnostic for the globals without explicitly specified data-sharing
> attributes. Patch fixes this problem.
>
> Modified:
>     cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
>     cfe/trunk/lib/Sema/SemaOpenMP.cpp
>     cfe/trunk/test/OpenMP/distribute_parallel_for_default_messages.cpp
>     cfe/trunk/test/OpenMP/distribute_parallel_for_messages.cpp
>     cfe/trunk/test/OpenMP/distribute_parallel_for_simd_default_messages.cpp
>     cfe/trunk/test/OpenMP/parallel_default_messages.cpp
>     cfe/trunk/test/OpenMP/parallel_for_default_messages.cpp
>     cfe/trunk/test/OpenMP/parallel_for_messages.cpp
>     cfe/trunk/test/OpenMP/parallel_for_simd_default_messages.cpp
>     cfe/trunk/test/OpenMP/parallel_for_simd_messages.cpp
>     cfe/trunk/test/OpenMP/parallel_messages.cpp
>     cfe/trunk/test/OpenMP/parallel_sections_default_messages.cpp
>     cfe/trunk/test/OpenMP/parallel_sections_messages.cpp
>     cfe/trunk/test/OpenMP/report_default_DSA.cpp
>     cfe/trunk/test/OpenMP/target_parallel_default_messages.cpp
>     cfe/trunk/test/OpenMP/target_parallel_for_default_messages.cpp
>     cfe/trunk/test/OpenMP/target_parallel_for_messages.cpp
>     cfe/trunk/test/OpenMP/target_parallel_for_simd_default_messages.cpp
>     cfe/trunk/test/OpenMP/target_parallel_for_simd_messages.cpp
>     cfe/trunk/test/OpenMP/target_teams_default_messages.cpp
>     cfe/trunk/test/OpenMP/target_teams_distribute_default_messages.cpp
>     cfe/trunk/test/OpenMP/target_teams_distribute_messages.cpp
>     cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_default_messages.cpp
>     cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp
>     cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_simd_default_messages.cpp
>     cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp
>     cfe/trunk/test/OpenMP/target_teams_messages.cpp
>     cfe/trunk/test/OpenMP/task_default_messages.cpp
>     cfe/trunk/test/OpenMP/task_firstprivate_messages.cpp
>     cfe/trunk/test/OpenMP/task_messages.cpp
>     cfe/trunk/test/OpenMP/teams_default_messages.cpp
>     cfe/trunk/test/OpenMP/teams_distribute_default_messages.cpp
>     cfe/trunk/test/OpenMP/teams_distribute_parallel_for_default_messages.cpp
>     cfe/trunk/test/OpenMP/teams_distribute_parallel_for_messages.cpp
>     cfe/trunk/test/OpenMP/teams_distribute_parallel_for_simd_default_messages.cpp
>     cfe/trunk/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp
>     cfe/trunk/test/OpenMP/teams_distribute_simd_default_messages.cpp
>     cfe/trunk/test/OpenMP/teams_distribute_simd_messages.cpp
>     cfe/trunk/test/OpenMP/teams_messages.cpp
>
> Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)
> +++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Mon May  6 10:49:22 2019
> @@ -8792,6 +8792,8 @@ def err_omp_threadprivate_incomplete_typ
>    "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<
>
> Modified: cfe/trunk/lib/Sema/SemaOpenMP.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaOpenMP.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Sema/SemaOpenMP.cpp (original)
> +++ cfe/trunk/lib/Sema/SemaOpenMP.cpp Mon May  6 10:49:22 2019
> @@ -1777,10 +1777,15 @@ VarDecl *Sema::isOpenMPCapturedDecl(Valu
>          DSAStack->getTopDSA(D, DSAStack->isClauseParsingMode());
>      if (DVarPrivate.CKind != OMPC_unknown && isOpenMPPrivate(DVarPrivate.CKind))
>        return VD ? VD : cast<VarDecl>(DVarPrivate.PrivateCopy->getDecl());
> +    if (VD && DSAStack->getDefaultDSA() == DSA_none)
> +      return VD;
>      DVarPrivate = DSAStack->hasDSA(D, isOpenMPPrivate,
>                                     [](OpenMPDirectiveKind) { return true; },
>                                     DSAStack->isClauseParsingMode());
> -    if (DVarPrivate.CKind != OMPC_unknown)
> +    // 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))
>        return VD ? VD : cast<VarDecl>(DVarPrivate.PrivateCopy->getDecl());
>    }
>    return nullptr;
> @@ -4184,6 +4189,7 @@ StmtResult Sema::ActOnOpenMPExecutableDi
>    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;
>
>
> Modified: cfe/trunk/test/OpenMP/distribute_parallel_for_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/distribute_parallel_for_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/distribute_parallel_for_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/distribute_parallel_for_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -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 '('}}
> +#pragma omp distribute parallel for default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-note 2 {{explicit data sharing attribute requested here}}
>    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)
> +#pragma omp distribute parallel for default(none) // expected-note 2 {{explicit data sharing attribute requested here}}
>    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 '('}}
> +#pragma omp distribute parallel for default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-note {{explicit data sharing attribute requested here}}
>    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)
> +#pragma omp distribute parallel for default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (i = 0; i < argc; ++i)  // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>      foo();
>
>
> Modified: cfe/trunk/test/OpenMP/distribute_parallel_for_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/distribute_parallel_for_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/distribute_parallel_for_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/distribute_parallel_for_messages.cpp Mon May  6 10:49:22 2019
> @@ -81,7 +81,7 @@ L1:
>    }
>  #pragma omp target
>  #pragma omp teams
> -#pragma omp distribute parallel for default(none)
> +#pragma omp distribute parallel for default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (int i = 0; i < 10; ++i)
>      ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
>
> Modified: cfe/trunk/test/OpenMP/distribute_parallel_for_simd_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/distribute_parallel_for_simd_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/distribute_parallel_for_simd_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/distribute_parallel_for_simd_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -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 '('}}
> +#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}}
>    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)
> +#pragma omp distribute parallel for simd default(none) // expected-note 2 {{explicit data sharing attribute requested here}}
>    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 '('}}
> +#pragma omp distribute parallel for simd default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-note {{explicit data sharing attribute requested here}}
>    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)
> +#pragma omp distribute parallel for simd default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (i = 0; i < argc; ++i)  // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>      foo();
>
>
> Modified: cfe/trunk/test/OpenMP/parallel_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/parallel_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/parallel_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/parallel_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -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)
> +  #pragma omp parallel default(none) // expected-note {{explicit data sharing attribute requested here}}
>    ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
> -  #pragma omp parallel default(none)
> +  #pragma omp parallel default(none) // expected-note {{explicit data sharing attribute requested here}}
>    #pragma omp parallel default(shared)
>    ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
> -  #pragma omp parallel default(none)
> +  #pragma omp parallel default(none) // ge40-note {{explicit data sharing attribute requested here}}
>    (void)c; // ge40-error {{variable 'c' must have explicitly specified data sharing attributes}}
>    return 0;
>  }
>
> Modified: cfe/trunk/test/OpenMP/parallel_for_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/parallel_for_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/parallel_for_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/parallel_for_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -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 '('}}
> +#pragma omp parallel for default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-note {{explicit data sharing attribute requested here}}
>    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)
> +#pragma omp parallel for default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (i = 0; i < argc; ++i)  // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>      foo();
>
> -#pragma omp parallel default(none)
> +#pragma omp parallel default(none) // expected-note {{explicit data sharing attribute requested here}}
>  #pragma omp parallel for default(shared)
>    for (i = 0; i < argc; ++i) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>      foo();
>
> Modified: cfe/trunk/test/OpenMP/parallel_for_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/parallel_for_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/parallel_for_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/parallel_for_messages.cpp Mon May  6 10:49:22 2019
> @@ -58,7 +58,7 @@ L1:
>        break;
>      }
>    }
> -#pragma omp parallel for default(none)
> +#pragma omp parallel for default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (int i = 0; i < 10; ++i)
>      ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
>
> Modified: cfe/trunk/test/OpenMP/parallel_for_simd_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/parallel_for_simd_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/parallel_for_simd_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/parallel_for_simd_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -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 '('}}
> +#pragma omp parallel for simd default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-note {{explicit data sharing attribute requested here}}
>    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)
> +#pragma omp parallel for simd default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (i = 0; i < argc; ++i)  // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>      foo();
>
> -#pragma omp parallel default(none)
> +#pragma omp parallel default(none) // expected-note 2 {{explicit data sharing attribute requested here}}
>  #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();
>
> Modified: cfe/trunk/test/OpenMP/parallel_for_simd_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/parallel_for_simd_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/parallel_for_simd_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/parallel_for_simd_messages.cpp Mon May  6 10:49:22 2019
> @@ -58,7 +58,7 @@ L1:
>        break;
>      }
>    }
> -#pragma omp parallel for simd default(none)
> +#pragma omp parallel for simd default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (int i = 0; i < 10; ++i)
>      ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
>
> Modified: cfe/trunk/test/OpenMP/parallel_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/parallel_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/parallel_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/parallel_messages.cpp Mon May  6 10:49:22 2019
> @@ -7,6 +7,7 @@ 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) {
> @@ -54,8 +55,11 @@ int main(int argc, char **argv) {
>         break;
>      }
>    }
> -  #pragma omp parallel default(none)
> -  ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
> +#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}}
> +  }
>
>    goto L2; // expected-error {{use of undeclared label 'L2'}}
>    #pragma omp parallel
>
> Modified: cfe/trunk/test/OpenMP/parallel_sections_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/parallel_sections_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/parallel_sections_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/parallel_sections_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -25,12 +25,12 @@ int main(int argc, char **argv) {
>      }
>    }
>
> -#pragma omp parallel sections default(none)
> +#pragma omp parallel sections default(none) // expected-note {{explicit data sharing attribute requested here}}
>    {
>      ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>    }
>
> -#pragma omp parallel sections default(none)
> +#pragma omp parallel sections default(none) // expected-note {{explicit data sharing attribute requested here}}
>    {
>  #pragma omp parallel sections default(shared)
>      {
>
> Modified: cfe/trunk/test/OpenMP/parallel_sections_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/parallel_sections_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/parallel_sections_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/parallel_sections_messages.cpp Mon May  6 10:49:22 2019
> @@ -62,7 +62,7 @@ int main(int argc, char **argv) {
>        break;
>      }
>    }
> -#pragma omp parallel sections default(none)
> +#pragma omp parallel sections default(none) // expected-note {{explicit data sharing attribute requested here}}
>    {
>      ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>    }
>
> Modified: cfe/trunk/test/OpenMP/report_default_DSA.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/report_default_DSA.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/report_default_DSA.cpp (original)
> +++ cfe/trunk/test/OpenMP/report_default_DSA.cpp Mon May  6 10:49:22 2019
> @@ -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)
> +    : vec [0:n]) default(none) // expected-note 4 {{explicit data sharing attribute requested here}}
>      // expected-error at +1 {{variable 'n' must have explicitly specified data sharing attributes}}
>      for (int ii = 0; ii < n; ii++) {
>        // expected-error at +3 {{variable 'iter' must have explicitly specified data sharing attributes}}
>
> Modified: cfe/trunk/test/OpenMP/target_parallel_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/target_parallel_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/target_parallel_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/target_parallel_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -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)
> +  #pragma omp target parallel default(none) // expected-note {{explicit data sharing attribute requested here}}
>    ++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)
> +  #pragma omp target parallel default(none) // expected-note {{explicit data sharing attribute requested here}}
>    #pragma omp parallel default(shared)
>    ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>    return 0;
>
> Modified: cfe/trunk/test/OpenMP/target_parallel_for_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/target_parallel_for_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/target_parallel_for_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/target_parallel_for_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -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 '('}}
> +#pragma omp target parallel for default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-note {{explicit data sharing attribute requested here}}
>    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)
> +#pragma omp target parallel for default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (i = 0; i < argc; ++i)  // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>      foo();
>
>
> Modified: cfe/trunk/test/OpenMP/target_parallel_for_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/target_parallel_for_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/target_parallel_for_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/target_parallel_for_messages.cpp Mon May  6 10:49:22 2019
> @@ -61,7 +61,7 @@ L1:
>        break;
>      }
>    }
> -#pragma omp target parallel for default(none)
> +#pragma omp target parallel for default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (int i = 0; i < 10; ++i)
>      ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
>
> Modified: cfe/trunk/test/OpenMP/target_parallel_for_simd_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/target_parallel_for_simd_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/target_parallel_for_simd_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/target_parallel_for_simd_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -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 '('}}
> +#pragma omp target parallel for simd default(none // expected-error {{expected ')'}} expected-note {{to match this '('}} expected-note {{explicit data sharing attribute requested here}}
>    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)
> +#pragma omp target parallel for simd default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (i = 0; i < argc; ++i)  // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>      foo();
>
>
> Modified: cfe/trunk/test/OpenMP/target_parallel_for_simd_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/target_parallel_for_simd_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/target_parallel_for_simd_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/target_parallel_for_simd_messages.cpp Mon May  6 10:49:22 2019
> @@ -61,7 +61,7 @@ L1:
>        break;
>      }
>    }
> -#pragma omp target parallel for simd default(none)
> +#pragma omp target parallel for simd default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (int i = 0; i < 10; ++i)
>      ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
>
> Modified: cfe/trunk/test/OpenMP/target_teams_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/target_teams_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/target_teams_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/target_teams_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -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)
> +#pragma omp target teams default(none) // expected-note {{explicit data sharing attribute requested here}}
>    ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
> -#pragma omp target teams default(none)
> +#pragma omp target teams default(none) // expected-note {{explicit data sharing attribute requested here}}
>  #pragma omp parallel default(shared)
>    ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>    return 0;
>
> Modified: cfe/trunk/test/OpenMP/target_teams_distribute_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/target_teams_distribute_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/target_teams_distribute_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/target_teams_distribute_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -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)
> +  #pragma omp target teams distribute default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (int i=0; i<200; i++) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
>    return 0;
>
> Modified: cfe/trunk/test/OpenMP/target_teams_distribute_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/target_teams_distribute_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/target_teams_distribute_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/target_teams_distribute_messages.cpp Mon May  6 10:49:22 2019
> @@ -61,7 +61,7 @@ L1:
>        break;
>      }
>    }
> -#pragma omp target teams distribute default(none)
> +#pragma omp target teams distribute default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (int i = 0; i < 10; ++i)
>      ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
>
> Modified: cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -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)
> +#pragma omp target teams distribute parallel for default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (int i=0; i<200; i++) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
>    return 0;
>
> Modified: cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp Mon May  6 10:49:22 2019
> @@ -61,7 +61,7 @@ L1:
>        break;
>      }
>    }
> -#pragma omp target teams distribute parallel for default(none)
> +#pragma omp target teams distribute parallel for default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (int i = 0; i < 10; ++i)
>      ++argc; // expected-error {{ariable 'argc' must have explicitly specified data sharing attributes}}
>
>
> Modified: cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_simd_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_simd_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_simd_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_simd_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -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)
> +#pragma omp target teams distribute parallel for simd default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (int i=0; i<200; i++) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
>    return 0;
>
> Modified: cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp Mon May  6 10:49:22 2019
> @@ -62,7 +62,7 @@ L1:
>        break;
>      }
>    }
> -#pragma omp target teams distribute parallel for simd default(none)
> +#pragma omp target teams distribute parallel for simd default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (int i = 0; i < 10; ++i)
>      ++argc; // expected-error {{ariable 'argc' must have explicitly specified data sharing attributes}}
>
>
> Modified: cfe/trunk/test/OpenMP/target_teams_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/target_teams_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/target_teams_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/target_teams_messages.cpp Mon May  6 10:49:22 2019
> @@ -47,14 +47,14 @@ int main(int argc, char **argv) {
>         break;
>      }
>    }
> -#pragma omp target teams default(none)
> +#pragma omp target teams default(none) // expected-note {{explicit data sharing attribute requested here}}
>    ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
> -#pragma omp target teams default(none)
> +#pragma omp target teams default(none) // expected-note {{explicit data sharing attribute requested here}}
>  #pragma omp parallel num_threads(argc) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>    ;
>
> -#pragma omp target teams default(none)
> +#pragma omp target teams default(none) // expected-note {{explicit data sharing attribute requested here}}
>    {
>  #pragma omp parallel num_threads(argc) // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>      ;
>
> Modified: cfe/trunk/test/OpenMP/task_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/task_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/task_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/task_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -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)
> +#pragma omp task default(none) // expected-note {{explicit data sharing attribute requested here}}
>    ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
> -#pragma omp task default(none)
> +#pragma omp task default(none) // expected-note {{explicit data sharing attribute requested here}}
>  #pragma omp task default(shared)
>    ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>    return 0;
>
> Modified: cfe/trunk/test/OpenMP/task_firstprivate_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/task_firstprivate_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/task_firstprivate_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/task_firstprivate_messages.cpp Mon May  6 10:49:22 2019
> @@ -23,7 +23,7 @@ template <typename T>
>  struct S {
>    T b;
>    S(T a, T c) {
> -#pragma omp task default(none) firstprivate(a, b)
> +#pragma omp task default(none) firstprivate(a, b) // expected-note {{explicit data sharing attribute requested here}}
>      a = b = c; // expected-error {{variable 'c' must have explicitly specified data sharing attributes}}
>    }
>  };
>
> Modified: cfe/trunk/test/OpenMP/task_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/task_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/task_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/task_messages.cpp Mon May  6 10:49:22 2019
> @@ -38,10 +38,10 @@ int foo() {
>  #pragma omp task
>  // expected-note at +1 2 {{predetermined as a firstprivate in a task construct here}}
>    ++s1;
> -#pragma omp task default(none)
> +#pragma omp task default(none) // expected-note 2 {{explicit data sharing attribute requested here}}
>  #pragma omp task default(shared)
>    ++a; // expected-error 2 {{variable 'a' must have explicitly specified data sharing attributes}}
> -#pragma omp task default(none)
> +#pragma omp task default(none) // expected-note 2 {{explicit data sharing attribute requested here}}
>  #pragma omp task
>    // expected-error at +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)
> +#pragma omp task default(none) // expected-note {{explicit data sharing attribute requested here}}
>    ++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)
> +#pragma omp task default(none) // expected-note {{explicit data sharing attribute requested here}}
>  #pragma omp task default(shared)
>    ++a; // expected-error {{variable 'a' must have explicitly specified data sharing attributes}}
> -#pragma omp task default(none)
> +#pragma omp task default(none) // expected-note {{explicit data sharing attribute requested here}}
>  #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)
> +#pragma omp task default(none) // expected-note {{explicit data sharing attribute requested here}}
>  #pragma omp task default(shared)
>    ++sa; // expected-error {{variable 'sa' must have explicitly specified data sharing attributes}}
> -#pragma omp task default(none)
> +#pragma omp task default(none) // expected-note {{explicit data sharing attribute requested here}}
>  #pragma omp task
>    // expected-error at +1 {{calling a private constructor of class 'S'}}
>    ++sa; // expected-error {{variable 'sa' must have explicitly specified data sharing attributes}}
>
> Modified: cfe/trunk/test/OpenMP/teams_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/teams_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/teams_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/teams_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -25,11 +25,11 @@ int main(int argc, char **argv) {
>    foo();
>
>    #pragma omp target
> -  #pragma omp teams default(none)
> +  #pragma omp teams default(none) // expected-note {{explicit data sharing attribute requested here}}
>    ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
>    #pragma omp target
> -  #pragma omp teams default(none)
> +  #pragma omp teams default(none) // expected-note {{explicit data sharing attribute requested here}}
>    #pragma omp parallel default(shared)
>    ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>    return 0;
>
> Modified: cfe/trunk/test/OpenMP/teams_distribute_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/teams_distribute_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/teams_distribute_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/teams_distribute_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -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)
> +  #pragma omp teams distribute default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (int i=0; i<200; i++) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
>    return 0;
>
> Modified: cfe/trunk/test/OpenMP/teams_distribute_parallel_for_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/teams_distribute_parallel_for_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/teams_distribute_parallel_for_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/teams_distribute_parallel_for_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -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)
> +  #pragma omp teams distribute parallel for default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (int i=0; i<200; i++) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
>    return 0;
>
> Modified: cfe/trunk/test/OpenMP/teams_distribute_parallel_for_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/teams_distribute_parallel_for_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/teams_distribute_parallel_for_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/teams_distribute_parallel_for_messages.cpp Mon May  6 10:49:22 2019
> @@ -76,7 +76,7 @@ L1:
>      }
>    }
>  #pragma omp target
> -#pragma omp teams distribute parallel for default(none)
> +#pragma omp teams distribute parallel for default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (int i = 0; i < 10; ++i)
>      ++argc; // expected-error {{ariable 'argc' must have explicitly specified data sharing attributes}}
>
>
> Modified: cfe/trunk/test/OpenMP/teams_distribute_parallel_for_simd_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/teams_distribute_parallel_for_simd_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/teams_distribute_parallel_for_simd_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/teams_distribute_parallel_for_simd_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -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)
> +  #pragma omp teams distribute parallel for simd default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (int i=0; i<200; i++) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
>    return 0;
>
> Modified: cfe/trunk/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp Mon May  6 10:49:22 2019
> @@ -76,7 +76,7 @@ L1:
>      }
>    }
>  #pragma omp target
> -#pragma omp teams distribute parallel for simd default(none)
> +#pragma omp teams distribute parallel for simd default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (int i = 0; i < 10; ++i)
>      ++argc; // expected-error {{ariable 'argc' must have explicitly specified data sharing attributes}}
>
>
> Modified: cfe/trunk/test/OpenMP/teams_distribute_simd_default_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/teams_distribute_simd_default_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/teams_distribute_simd_default_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/teams_distribute_simd_default_messages.cpp Mon May  6 10:49:22 2019
> @@ -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)
> +  #pragma omp teams distribute simd default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (int i=0; i<200; i++) ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
>    return 0;
>
> Modified: cfe/trunk/test/OpenMP/teams_distribute_simd_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/teams_distribute_simd_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/teams_distribute_simd_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/teams_distribute_simd_messages.cpp Mon May  6 10:49:22 2019
> @@ -76,7 +76,7 @@ L1:
>      }
>    }
>  #pragma omp target
> -#pragma omp teams distribute simd default(none)
> +#pragma omp teams distribute simd default(none) // expected-note {{explicit data sharing attribute requested here}}
>    for (int i = 0; i < 10; ++i)
>      ++argc; // expected-error {{ariable 'argc' must have explicitly specified data sharing attributes}}
>
>
> Modified: cfe/trunk/test/OpenMP/teams_messages.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/teams_messages.cpp?rev=360061&r1=360060&r2=360061&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/teams_messages.cpp (original)
> +++ cfe/trunk/test/OpenMP/teams_messages.cpp Mon May  6 10:49:22 2019
> @@ -63,7 +63,7 @@ int main(int argc, char **argv) {
>      }
>    }
>    #pragma omp target
> -  #pragma omp teams default(none)
> +  #pragma omp teams default(none) // expected-note {{explicit data sharing attribute requested here}}
>    ++argc; // expected-error {{variable 'argc' must have explicitly specified data sharing attributes}}
>
>    goto L2; // expected-error {{use of undeclared label 'L2'}}
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


More information about the cfe-commits mailing list