This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Add map clauses to libgomp test device-3.f90
- From: Alexander Monakov <amonakov at ispras dot ru>
- To: Martin Jambor <mjambor at suse dot cz>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Jakub Jelinek <jakub at redhat dot com>
- Date: Mon, 14 Nov 2016 20:23:42 +0300 (MSK)
- Subject: Re: [PATCH] Add map clauses to libgomp test device-3.f90
- Authentication-results: sourceware.org; auth=none
- References: <20161114163422.wny2v5rwffvrsfij@virgil.suse.cz>
On Mon, 14 Nov 2016, Martin Jambor wrote:
> Hi,
>
> yesterday I forgot to send out the following patch. The test
> libgomp/testsuite/libgomp.fortran/examples-4/device-3.f90 was failing
> for me when I was testing the HSA branch merge but I believe the test
> itself is wrong and the failure is due to us now adhering to OpenMP
> 4.5 default mapping of scalars (i.e. firstprivate, as opposed to
> tofrom in 4.0) and the test itself needs to be fixed in the following
> way.
>From inspection, I believe device-1.f90 in the same directory has the same
issue? Here's the corresponding patch.
I also think there's the same issue in target-3.f90 and target5.f90
(compile-only test).
diff --git a/libgomp/testsuite/libgomp.fortran/examples-4/device-1.f90 b/libgomp/testsuite/libgomp.fortran/examples-4/device-1.f90
index a411db4..3404f01 100644
--- a/libgomp/testsuite/libgomp.fortran/examples-4/device-1.f90
+++ b/libgomp/testsuite/libgomp.fortran/examples-4/device-1.f90
@@ -9,11 +9,11 @@ program e_57_1
a = 100
b = 0
- !$omp target if(a > 200 .and. a < 400)
+ !$omp target map(from: c) if(a > 200 .and. a < 400)
c = omp_is_initial_device ()
!$omp end target
- !$omp target data map(to: b) if(a > 200 .and. a < 400)
+ !$omp target data map(to: b) map(from: d) if(a > 200 .and. a < 400)
!$omp target
b = 100
d = omp_is_initial_device ()
@@ -25,11 +25,11 @@ program e_57_1
a = a + 200
b = 0
- !$omp target if(a > 200 .and. a < 400)
+ !$omp target map(from: c) if(a > 200 .and. a < 400)
c = omp_is_initial_device ()
!$omp end target
- !$omp target data map(to: b) if(a > 200 .and. a < 400)
+ !$omp target data map(to: b) map(from: d) if(a > 200 .and. a < 400)
!$omp target
b = 100
d = omp_is_initial_device ()
@@ -41,11 +41,11 @@ program e_57_1
a = a + 200
b = 0
- !$omp target if(a > 200 .and. a < 400)
+ !$omp target map(from: c) if(a > 200 .and. a < 400)
c = omp_is_initial_device ()
!$omp end target
- !$omp target data map(to: b) if(a > 200 .and. a < 400)
+ !$omp target data map(to: b) map(from: d) if(a > 200 .and. a < 400)
!$omp target
b = 100
d = omp_is_initial_device ()