aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2021-01-01 12:12:49 +0100
committerThomas Koenig <tkoenig@gcc.gnu.org>2021-01-01 12:12:49 +0100
commit9d9a82ec8478ff52c7a9d61f58cd2a7b6295b5f9 (patch)
tree3e8a4affd550ba011e18031cd0cbae6bd5dbb087 /gcc
parent4726e39b0be3c0bc55e43d2d300f0d0b9529d883 (diff)
Make SYNC IMAGES(*) work by handling size of -1 in library.
libgfortran/ChangeLog: * caf_shared/sync.c (sync_table): Change size argument and index to int. * caf_shared/sync.h (sync_table): Adjust prototype. * caf_shared/wrapper.c (cas_sync_images): Add s argument to int, adjust call to sync_table. gcc/testsuite/ChangeLog: * gfortran.dg/caf-shared/sync_images_1.f90: New test. * gfortran.dg/caf-shared/sync_images_2.f90: New test.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gfortran.dg/caf-shared/sync_images_1.f9013
-rw-r--r--gcc/testsuite/gfortran.dg/caf-shared/sync_images_2.f905
2 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/caf-shared/sync_images_1.f90 b/gcc/testsuite/gfortran.dg/caf-shared/sync_images_1.f90
new file mode 100644
index 00000000000..c06b7631cdd
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/caf-shared/sync_images_1.f90
@@ -0,0 +1,13 @@
+! { dg-do run }
+! { dg-set-target-env-var GFORTRAN_NUM_IMAGES "4" }
+! { dg-output "1234" }
+program main
+ implicit none
+ integer :: n, me
+ n = num_images()
+ me = this_image()
+ if (me /= 1) sync images (me - 1)
+ write (*,'(I0)',advance="no") me
+ if (me /= n) sync images (me+1)
+ sync all
+end program main
diff --git a/gcc/testsuite/gfortran.dg/caf-shared/sync_images_2.f90 b/gcc/testsuite/gfortran.dg/caf-shared/sync_images_2.f90
new file mode 100644
index 00000000000..f1d63347291
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/caf-shared/sync_images_2.f90
@@ -0,0 +1,5 @@
+! { dg-do run }
+! { dg-set-target-env-var GFORTRAN_NUM_IMAGES "4" }
+program main
+ sync images(*)
+end program main