summaryrefslogtreecommitdiffstats
path: root/clang/test/OpenMP/parallel_for_firstprivate_messages.cpp
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2019-07-18 17:49:13 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2019-07-18 17:49:13 +0000
commit05be1da24cd947187a8b750e9eca45e80d2e7414 (patch)
treedad30cd82ebcd2240874110eedfbc527bd680824 /clang/test/OpenMP/parallel_for_firstprivate_messages.cpp
parent3f1ab737e2199415c072fd6624a728949eb30342 (diff)
downloadbcm5719-llvm-05be1da24cd947187a8b750e9eca45e80d2e7414.tar.gz
bcm5719-llvm-05be1da24cd947187a8b750e9eca45e80d2e7414.zip
[OPENMP]Provide correct data sharing attributes for loop control
variables. Loop control variables are private in loop-based constructs and we shall take this into account when generate the code for inner constructs. Currently, those variables are reported as shared in many cases. Moved the analysis of the data-sharing attributes of the loop control variable to an early semantic stage to correctly handle their attributes. llvm-svn: 366474
Diffstat (limited to 'clang/test/OpenMP/parallel_for_firstprivate_messages.cpp')
-rw-r--r--clang/test/OpenMP/parallel_for_firstprivate_messages.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/test/OpenMP/parallel_for_firstprivate_messages.cpp b/clang/test/OpenMP/parallel_for_firstprivate_messages.cpp
index 28a21a49e60..8a312f47662 100644
--- a/clang/test/OpenMP/parallel_for_firstprivate_messages.cpp
+++ b/clang/test/OpenMP/parallel_for_firstprivate_messages.cpp
@@ -127,12 +127,12 @@ int foomain(int argc, char **argv) {
for (i = 0; i < argc; ++i)
foo();
#pragma omp parallel private(i)
-#pragma omp parallel for firstprivate(i) // expected-note {{defined as firstprivate}}
- for (i = 0; i < argc; ++i) // expected-error {{loop iteration variable in the associated loop of 'omp parallel for' directive may not be firstprivate, predetermined as private}}
+#pragma omp parallel for firstprivate(i) // expected-note 2 {{defined as firstprivate}}
+ for (i = 0; i < argc; ++i) // expected-error 2 {{loop iteration variable in the associated loop of 'omp parallel for' directive may not be firstprivate, predetermined as private}}
foo();
#pragma omp parallel reduction(+ : i)
-#pragma omp parallel for firstprivate(i) // expected-note {{defined as firstprivate}}
- for (i = 0; i < argc; ++i) // expected-error {{loop iteration variable in the associated loop of 'omp parallel for' directive may not be firstprivate, predetermined as private}}
+#pragma omp parallel for firstprivate(i) // expected-note 2 {{defined as firstprivate}}
+ for (i = 0; i < argc; ++i) // expected-error 2 {{loop iteration variable in the associated loop of 'omp parallel for' directive may not be firstprivate, predetermined as private}}
foo();
return 0;
}
OpenPOWER on IntegriCloud