jyu2 updated this revision to Diff 381604.
jyu2 added a comment.

fix format problem.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112292/new/

https://reviews.llvm.org/D112292

Files:
  clang/lib/Sema/SemaOpenMP.cpp
  clang/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp
  clang/test/OpenMP/distribute_simd_loop_messages.cpp
  clang/test/OpenMP/for_loop_messages.cpp
  clang/test/OpenMP/for_simd_loop_messages.cpp
  clang/test/OpenMP/master_taskloop_loop_messages.cpp
  clang/test/OpenMP/master_taskloop_simd_loop_messages.cpp
  clang/test/OpenMP/parallel_for_loop_messages.cpp
  clang/test/OpenMP/parallel_for_simd_loop_messages.cpp
  clang/test/OpenMP/parallel_master_taskloop_loop_messages.cpp
  clang/test/OpenMP/parallel_master_taskloop_simd_loop_messages.cpp
  clang/test/OpenMP/simd_loop_messages.cpp
  clang/test/OpenMP/target_parallel_for_loop_messages.cpp
  clang/test/OpenMP/target_parallel_for_simd_loop_messages.cpp
  clang/test/OpenMP/target_simd_loop_messages.cpp
  clang/test/OpenMP/target_teams_distribute_loop_messages.cpp
  clang/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp
  clang/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp
  clang/test/OpenMP/target_teams_distribute_simd_loop_messages.cpp
  clang/test/OpenMP/taskloop_loop_messages.cpp
  clang/test/OpenMP/taskloop_simd_loop_messages.cpp
  clang/test/OpenMP/teams_distribute_loop_messages.cpp
  clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
  clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
  clang/test/OpenMP/teams_distribute_simd_loop_messages.cpp

Index: clang/test/OpenMP/teams_distribute_simd_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/teams_distribute_simd_loop_messages.cpp
+++ 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];
 
Index: clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
+++ 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];
 
Index: clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
+++ 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];
 
Index: clang/test/OpenMP/teams_distribute_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/teams_distribute_loop_messages.cpp
+++ 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];
 
Index: clang/test/OpenMP/taskloop_simd_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/taskloop_simd_loop_messages.cpp
+++ 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];
Index: clang/test/OpenMP/taskloop_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/taskloop_loop_messages.cpp
+++ 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];
Index: clang/test/OpenMP/target_teams_distribute_simd_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/target_teams_distribute_simd_loop_messages.cpp
+++ 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];
 
Index: clang/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp
+++ 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];
Index: clang/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp
+++ 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];
 
Index: clang/test/OpenMP/target_teams_distribute_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/target_teams_distribute_loop_messages.cpp
+++ 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];
 
Index: clang/test/OpenMP/target_simd_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/target_simd_loop_messages.cpp
+++ 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];
Index: clang/test/OpenMP/target_parallel_for_simd_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/target_parallel_for_simd_loop_messages.cpp
+++ 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];
Index: clang/test/OpenMP/target_parallel_for_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/target_parallel_for_loop_messages.cpp
+++ 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];
Index: clang/test/OpenMP/simd_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/simd_loop_messages.cpp
+++ 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];
Index: clang/test/OpenMP/parallel_master_taskloop_simd_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/parallel_master_taskloop_simd_loop_messages.cpp
+++ 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];
Index: clang/test/OpenMP/parallel_master_taskloop_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/parallel_master_taskloop_loop_messages.cpp
+++ 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];
Index: clang/test/OpenMP/parallel_for_simd_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/parallel_for_simd_loop_messages.cpp
+++ 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];
Index: clang/test/OpenMP/parallel_for_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/parallel_for_loop_messages.cpp
+++ 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];
Index: clang/test/OpenMP/master_taskloop_simd_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/master_taskloop_simd_loop_messages.cpp
+++ 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];
Index: clang/test/OpenMP/master_taskloop_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/master_taskloop_loop_messages.cpp
+++ 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];
Index: clang/test/OpenMP/for_simd_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/for_simd_loop_messages.cpp
+++ 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];
Index: clang/test/OpenMP/for_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/for_loop_messages.cpp
+++ 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];
Index: clang/test/OpenMP/distribute_simd_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/distribute_simd_loop_messages.cpp
+++ 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];
Index: clang/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp
===================================================================
--- clang/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp
+++ 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];
Index: clang/lib/Sema/SemaOpenMP.cpp
===================================================================
--- clang/lib/Sema/SemaOpenMP.cpp
+++ 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)
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to