diff --git a/clang/lib/Sema/SemaOpenMP.cpp b/clang/lib/Sema/SemaOpenMP.cpp --- a/clang/lib/Sema/SemaOpenMP.cpp +++ b/clang/lib/Sema/SemaOpenMP.cpp @@ -8647,6 +8647,7 @@ : OMPC_private; if (((isOpenMPSimdDirective(DKind) && DVar.CKind != OMPC_unknown && DVar.CKind != PredeterminedCKind && DVar.RefExpr && + DVar.CKind != OMPC_threadprivate && (LangOpts.OpenMP <= 45 || (DVar.CKind != OMPC_lastprivate && DVar.CKind != OMPC_private))) || ((isOpenMPWorksharingDirective(DKind) || DKind == OMPD_taskloop || @@ -8654,7 +8655,8 @@ DKind == OMPD_parallel_master_taskloop || isOpenMPDistributeDirective(DKind)) && !isOpenMPSimdDirective(DKind) && DVar.CKind != OMPC_unknown && - DVar.CKind != OMPC_private && DVar.CKind != OMPC_lastprivate)) && + DVar.CKind != OMPC_threadprivate && DVar.CKind != OMPC_private && + DVar.CKind != OMPC_lastprivate)) && (DVar.CKind != OMPC_private || DVar.RefExpr)) { Diag(Init->getBeginLoc(), diag::err_omp_loop_var_dsa) << getOpenMPClauseName(DVar.CKind) diff --git a/clang/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp b/clang/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp --- a/clang/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp +++ b/clang/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -356,7 +356,7 @@ c[ii] = a[ii]; { -// expected-error@+2 {{loop iteration variable in the associated loop of 'omp distribute parallel for simd' directive may not be threadprivate or thread local, predetermined as linear}} +// no error expected @+2 {{loop iteration variable in the associated loop of 'omp distribute parallel for simd' directive may not be threadprivate or thread local, predetermined as linear}} #pragma omp distribute parallel for simd for (sii = 0; sii < 10; sii += 1) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/distribute_simd_loop_messages.cpp b/clang/test/OpenMP/distribute_simd_loop_messages.cpp --- a/clang/test/OpenMP/distribute_simd_loop_messages.cpp +++ b/clang/test/OpenMP/distribute_simd_loop_messages.cpp @@ -21,7 +21,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -365,7 +365,7 @@ { #pragma omp target #pragma omp teams -// expected-error@+2 {{loop iteration variable in the associated loop of 'omp distribute simd' directive may not be threadprivate or thread local, predetermined as linear}} +// no error expected @+2 {{loop iteration variable in the associated loop of 'omp distribute simd' directive may not be threadprivate or thread local, predetermined as linear}} #pragma omp distribute simd for (sii = 0; sii < 10; sii+=1) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/for_loop_messages.cpp b/clang/test/OpenMP/for_loop_messages.cpp --- a/clang/test/OpenMP/for_loop_messages.cpp +++ b/clang/test/OpenMP/for_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected@+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -334,7 +334,8 @@ #pragma omp parallel { -// expected-error@+2 {{loop iteration variable in the associated loop of 'omp for' directive may not be threadprivate or thread local, predetermined as private}} +// loop var with threadprivate or thread local is predetermined as threadprivate +// not error expected@+2 {{loop iteration variable in the associated loop of 'omp for' directive may not be threadprivate or thread local, predetermined as private}} #pragma omp for for (sii = 0; sii < 10; sii += 1) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/for_simd_loop_messages.cpp b/clang/test/OpenMP/for_simd_loop_messages.cpp --- a/clang/test/OpenMP/for_simd_loop_messages.cpp +++ b/clang/test/OpenMP/for_simd_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -311,7 +311,7 @@ #pragma omp parallel { -// expected-error@+2 {{loop iteration variable in the associated loop of 'omp for simd' directive may not be threadprivate or thread local, predetermined as linear}} +// no error expected @+2 {{loop iteration variable in the associated loop of 'omp for simd' directive may not be threadprivate or thread local, predetermined as linear}} #pragma omp for simd for (sii = 0; sii < 10; sii += 1) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/master_taskloop_loop_messages.cpp b/clang/test/OpenMP/master_taskloop_loop_messages.cpp --- a/clang/test/OpenMP/master_taskloop_loop_messages.cpp +++ b/clang/test/OpenMP/master_taskloop_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected@+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -314,7 +314,8 @@ #pragma omp parallel { -// expected-error@+2 {{loop iteration variable in the associated loop of 'omp master taskloop' directive may not be threadprivate or thread local, predetermined as private}} +// loop var with threadprivate or thread local is predetermined as threadprivate +// not error expected@+2 {{loop iteration variable in the associated loop of 'omp master taskloop' directive may not be threadprivate or thread local, predetermined as private}} #pragma omp master taskloop for (sii = 0; sii < 10; sii += 1) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/master_taskloop_simd_loop_messages.cpp b/clang/test/OpenMP/master_taskloop_simd_loop_messages.cpp --- a/clang/test/OpenMP/master_taskloop_simd_loop_messages.cpp +++ b/clang/test/OpenMP/master_taskloop_simd_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -316,7 +316,7 @@ #pragma omp parallel { -// expected-error@+2 {{loop iteration variable in the associated loop of 'omp master taskloop simd' directive may not be threadprivate or thread local, predetermined as linear}} +// no error expected @+2 {{loop iteration variable in the associated loop of 'omp master taskloop simd' directive may not be threadprivate or thread local, predetermined as linear}} #pragma omp master taskloop simd for (sii = 0; sii < 10; sii += 1) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/parallel_for_loop_messages.cpp b/clang/test/OpenMP/parallel_for_loop_messages.cpp --- a/clang/test/OpenMP/parallel_for_loop_messages.cpp +++ b/clang/test/OpenMP/parallel_for_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -262,7 +262,8 @@ c[ii] = a[ii]; { -// expected-error@+2 {{loop iteration variable in the associated loop of 'omp parallel for' directive may not be threadprivate or thread local, predetermined as private}} +// loop var with threadprivate or thread local is predetermined as threadprivate +// no error expected @+2 {{loop iteration variable in the associated loop of 'omp parallel for' directive may not be threadprivate or thread local, predetermined as private}} #pragma omp parallel for for (sii = 0; sii < 10; sii += 1) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/parallel_for_simd_loop_messages.cpp b/clang/test/OpenMP/parallel_for_simd_loop_messages.cpp --- a/clang/test/OpenMP/parallel_for_simd_loop_messages.cpp +++ b/clang/test/OpenMP/parallel_for_simd_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -264,7 +264,7 @@ c[ii] = a[ii]; { -// expected-error@+2 {{loop iteration variable in the associated loop of 'omp parallel for simd' directive may not be threadprivate or thread local, predetermined as linear}} +// no error expected @+2 {{loop iteration variable in the associated loop of 'omp parallel for simd' directive may not be threadprivate or thread local, predetermined as linear}} #pragma omp parallel for simd for (sii = 0; sii < 10; sii += 1) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/parallel_master_taskloop_loop_messages.cpp b/clang/test/OpenMP/parallel_master_taskloop_loop_messages.cpp --- a/clang/test/OpenMP/parallel_master_taskloop_loop_messages.cpp +++ b/clang/test/OpenMP/parallel_master_taskloop_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -314,7 +314,8 @@ #pragma omp parallel { -// expected-error@+2 {{loop iteration variable in the associated loop of 'omp parallel master taskloop' directive may not be threadprivate or thread local, predetermined as private}} +// loop var with threadprivate or thread local is predetermined as threadprivate +// no error expected @+2 {{loop iteration variable in the associated loop of 'omp parallel master taskloop' directive may not be threadprivate or thread local, predetermined as private}} #pragma omp parallel master taskloop for (sii = 0; sii < 10; sii += 1) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/parallel_master_taskloop_simd_loop_messages.cpp b/clang/test/OpenMP/parallel_master_taskloop_simd_loop_messages.cpp --- a/clang/test/OpenMP/parallel_master_taskloop_simd_loop_messages.cpp +++ b/clang/test/OpenMP/parallel_master_taskloop_simd_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -309,7 +309,7 @@ #pragma omp parallel { -// expected-error@+2 {{loop iteration variable in the associated loop of 'omp parallel master taskloop simd' directive may not be threadprivate or thread local, predetermined as linear}} +// no error expected @+2 {{loop iteration variable in the associated loop of 'omp parallel master taskloop simd' directive may not be threadprivate or thread local, predetermined as linear}} #pragma omp parallel master taskloop simd for (sii = 0; sii < 10; sii += 1) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/simd_loop_messages.cpp b/clang/test/OpenMP/simd_loop_messages.cpp --- a/clang/test/OpenMP/simd_loop_messages.cpp +++ b/clang/test/OpenMP/simd_loop_messages.cpp @@ -6,7 +6,7 @@ // RUN: %clang_cc1 -fsyntax-only -fopenmp -fopenmp-version=45 -x c++ -std=c++11 -fexceptions -fcxx-exceptions -verify=expected,omp4 %s -Wuninitialized -Wno-openmp static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -281,7 +281,7 @@ #pragma omp parallel { -// expected-error@+2 {{loop iteration variable in the associated loop of 'omp simd' directive may not be threadprivate or thread local, predetermined as linear}} +// no error expected @+2 {{loop iteration variable in the associated loop of 'omp simd' directive may not be threadprivate or thread local, predetermined as linear}} #pragma omp simd for (sii = 0; sii < 10; sii+=1) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/target_parallel_for_loop_messages.cpp b/clang/test/OpenMP/target_parallel_for_loop_messages.cpp --- a/clang/test/OpenMP/target_parallel_for_loop_messages.cpp +++ b/clang/test/OpenMP/target_parallel_for_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -262,7 +262,8 @@ c[ii] = a[ii]; { -// expected-error@+2 {{loop iteration variable in the associated loop of 'omp target parallel for' directive may not be threadprivate or thread local, predetermined as private}} +// loop var with threadprivate or thread local is predetermined as threadprivate +// no error expected @+2 {{loop iteration variable in the associated loop of 'omp target parallel for' directive may not be threadprivate or thread local, predetermined as private}} #pragma omp target parallel for for (sii = 0; sii < 10; sii += 1) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/target_parallel_for_simd_loop_messages.cpp b/clang/test/OpenMP/target_parallel_for_simd_loop_messages.cpp --- a/clang/test/OpenMP/target_parallel_for_simd_loop_messages.cpp +++ b/clang/test/OpenMP/target_parallel_for_simd_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -264,7 +264,7 @@ c[ii] = a[ii]; { -// expected-error@+2 {{loop iteration variable in the associated loop of 'omp target parallel for simd' directive may not be threadprivate or thread local, predetermined as linear}} +// no error expected @+2 {{loop iteration variable in the associated loop of 'omp target parallel for simd' directive may not be threadprivate or thread local, predetermined as linear}} #pragma omp target parallel for simd for (sii = 0; sii < 10; sii += 1) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/target_simd_loop_messages.cpp b/clang/test/OpenMP/target_simd_loop_messages.cpp --- a/clang/test/OpenMP/target_simd_loop_messages.cpp +++ b/clang/test/OpenMP/target_simd_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -264,7 +264,7 @@ c[ii] = a[ii]; { -// expected-error@+2 {{loop iteration variable in the associated loop of 'omp target simd' directive may not be threadprivate or thread local, predetermined as linear}} +// no error expected @+2 {{loop iteration variable in the associated loop of 'omp target simd' directive may not be threadprivate or thread local, predetermined as linear}} #pragma omp target simd for (sii = 0; sii < 10; sii += 1) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/target_teams_distribute_loop_messages.cpp b/clang/test/OpenMP/target_teams_distribute_loop_messages.cpp --- a/clang/test/OpenMP/target_teams_distribute_loop_messages.cpp +++ b/clang/test/OpenMP/target_teams_distribute_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -257,7 +257,8 @@ c[ii] = a[ii]; #pragma omp target teams distribute -// expected-error@+1 {{loop iteration variable in the associated loop of 'omp target teams distribute' directive may not be threadprivate or thread local, predetermined as private}} +// loop var with threadprivate or thread local is predetermined as threadprivate +// no error expected @+1 {{loop iteration variable in the associated loop of 'omp target teams distribute' directive may not be threadprivate or thread local, predetermined as private}} for (sii = 0; sii < 10; sii++) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp b/clang/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp --- a/clang/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp +++ b/clang/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -255,7 +255,8 @@ c[ii] = a[ii]; #pragma omp target teams distribute parallel for -// expected-error@+1 {{loop iteration variable in the associated loop of 'omp target teams distribute parallel for' directive may not be threadprivate or thread local, predetermined as private}} +// loop var with threadprivate or thread local is predetermined as threadprivate +// no error expected @+1 {{loop iteration variable in the associated loop of 'omp target teams distribute parallel for' directive may not be threadprivate or thread local, predetermined as private}} for (sii = 0; sii < 10; sii++) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp b/clang/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp --- a/clang/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp +++ b/clang/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -257,7 +257,7 @@ for (ii = 0; ii < 10; ii++) c[ii] = a[ii]; -// expected-error@+2 {{loop iteration variable in the associated loop of 'omp target teams distribute parallel for simd' directive may not be threadprivate or thread local, predetermined as linear}} +// no error expected @+2 {{loop iteration variable in the associated loop of 'omp target teams distribute parallel for simd' directive may not be threadprivate or thread local, predetermined as linear}} #pragma omp target teams distribute parallel for simd for (sii = 0; sii < 10; sii++) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/target_teams_distribute_simd_loop_messages.cpp b/clang/test/OpenMP/target_teams_distribute_simd_loop_messages.cpp --- a/clang/test/OpenMP/target_teams_distribute_simd_loop_messages.cpp +++ b/clang/test/OpenMP/target_teams_distribute_simd_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -251,7 +251,7 @@ c[ii] = a[ii]; #pragma omp target teams distribute simd -// expected-error@+1 {{loop iteration variable in the associated loop of 'omp target teams distribute simd' directive may not be threadprivate or thread local, predetermined as linear}} +// no error expected @+1 {{loop iteration variable in the associated loop of 'omp target teams distribute simd' directive may not be threadprivate or thread local, predetermined as linear}} for (sii = 0; sii < 10; sii++) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/taskloop_loop_messages.cpp b/clang/test/OpenMP/taskloop_loop_messages.cpp --- a/clang/test/OpenMP/taskloop_loop_messages.cpp +++ b/clang/test/OpenMP/taskloop_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected@+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -314,7 +314,8 @@ #pragma omp parallel { -// expected-error@+2 {{loop iteration variable in the associated loop of 'omp taskloop' directive may not be threadprivate or thread local, predetermined as private}} +// loop var with threadprivate or thread local is predetermined as threadprivate +// no error expected @+2 {{loop iteration variable in the associated loop of 'omp taskloop' directive may not be threadprivate or thread local, predetermined as private}} #pragma omp taskloop for (sii = 0; sii < 10; sii += 1) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/taskloop_simd_loop_messages.cpp b/clang/test/OpenMP/taskloop_simd_loop_messages.cpp --- a/clang/test/OpenMP/taskloop_simd_loop_messages.cpp +++ b/clang/test/OpenMP/taskloop_simd_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -316,7 +316,7 @@ #pragma omp parallel { -// expected-error@+2 {{loop iteration variable in the associated loop of 'omp taskloop simd' directive may not be threadprivate or thread local, predetermined as linear}} +// no error expected @+2 {{loop iteration variable in the associated loop of 'omp taskloop simd' directive may not be threadprivate or thread local, predetermined as linear}} #pragma omp taskloop simd for (sii = 0; sii < 10; sii += 1) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/teams_distribute_loop_messages.cpp b/clang/test/OpenMP/teams_distribute_loop_messages.cpp --- a/clang/test/OpenMP/teams_distribute_loop_messages.cpp +++ b/clang/test/OpenMP/teams_distribute_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -303,7 +303,8 @@ #pragma omp target #pragma omp teams distribute -// expected-error@+1 {{loop iteration variable in the associated loop of 'omp teams distribute' directive may not be threadprivate or thread local, predetermined as private}} +// loop var with threadprivate or thread local is predetermined as threadprivate +// no error expected @+1 {{loop iteration variable in the associated loop of 'omp teams distribute' directive may not be threadprivate or thread local, predetermined as private}} for (sii = 0; sii < 10; sii++) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp b/clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp --- a/clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp +++ b/clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -301,7 +301,8 @@ #pragma omp target #pragma omp teams distribute parallel for -// expected-error@+1 {{loop iteration variable in the associated loop of 'omp teams distribute parallel for' directive may not be threadprivate or thread local, predetermined as private}} +// loop var with threadprivate or thread local is predetermined as threadprivate +// no error expected @+1 {{loop iteration variable in the associated loop of 'omp teams distribute parallel for' directive may not be threadprivate or thread local, predetermined as private}} for (sii = 0; sii < 10; sii++) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp b/clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp --- a/clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp +++ b/clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -303,7 +303,7 @@ #pragma omp target #pragma omp teams distribute parallel for simd -// expected-error@+1 {{loop iteration variable in the associated loop of 'omp teams distribute parallel for simd' directive may not be threadprivate or thread local, predetermined as linear}} +// no error expected @+1 {{loop iteration variable in the associated loop of 'omp teams distribute parallel for simd' directive may not be threadprivate or thread local, predetermined as linear}} for (sii = 0; sii < 10; sii++) c[sii] = a[sii]; diff --git a/clang/test/OpenMP/teams_distribute_simd_loop_messages.cpp b/clang/test/OpenMP/teams_distribute_simd_loop_messages.cpp --- a/clang/test/OpenMP/teams_distribute_simd_loop_messages.cpp +++ b/clang/test/OpenMP/teams_distribute_simd_loop_messages.cpp @@ -14,7 +14,7 @@ }; static int sii; -// expected-note@+1 {{defined as threadprivate or thread local}} +// no note expected @+1 {{defined as threadprivate or thread local}} #pragma omp threadprivate(sii) static int globalii; @@ -303,7 +303,7 @@ #pragma omp target #pragma omp teams distribute simd -// expected-error@+1 {{loop iteration variable in the associated loop of 'omp teams distribute simd' directive may not be threadprivate or thread local, predetermined as linear}} +// no error expected @+1 {{loop iteration variable in the associated loop of 'omp teams distribute simd' directive may not be threadprivate or thread local, predetermined as linear}} for (sii = 0; sii < 10; sii++) c[sii] = a[sii];