Here is my ready to go status.

Regression tested on Darwin, linux x86_64, FreeBSD.

$ git status
On branch master
Your branch is ahead of 'origin/master' by 22 commits.
  (use "git push" to publish your local commits)

nothing to commit, working tree clean

Summary list:

$ git log --oneline -n 22
5da4bdb1d92 (HEAD -> master) Fortran: Use -pthread on target *-*-freebsd*
ea88621d7a0 Fortran: Regenerate autoconf/automake files.
8ab8ef18a57 Fortran: Make caf_shmem build pthread presence aware.
8e10c6477c0 Fortran: Fix run time failures when compiled with -m32
b6c47d9cebe Fortran: Cleanup documentation for coarray -lcaf_shmem.
e9bf5e7e8aa Fortran: Add new testcase for PR121360
8c9507475be Fortran: Adjust test to work with multiple images.
9db159f5a09 Fortran: Fix coarray shared mem [PR121429]
37ab61c2725 Fortran: Fix form team in caf_shmem [PR124071]
555e89a7774 Fortran: Add a shared memory coarray implementation [PR88076]
276d24b5d99 Fortran: Ensure constant strings are sent correctly to caf.
6efe898d9fd Fortran: Fix coarray assignment when rhs is complicated.
7b7be294cf7 Fortran: Sync coarray images on exit.
57778be389f Fortran: Fix creating shared memory on macOS.
62ff9b73f72 Fortran: Fix caf_shmem syncing on Windows.
2a9f0718131 Fortran: Detect working CLZL or use alternative.
8ecb370f10a Fortran: Enable coarray tests for multi image use [PR88076]
4177c211fdb Fortran: Add a shared memory multi process coarray implementation [PR88076]
339dc9b6dba Fortran: Fix signatures of coarray API and caf_single.
7edc0257f15 Fortran: Fix coarray generation for char arrays and derived types.
a6bd423ec38 Fortran: Small fixes of coarray routines handling and code gen.
7d101fb3613 Fortran: Unify check of teams parameter in failed/stopped_images().

I will not repeat the above info for the upcoming emails

See attached.

Awaiting approval.
From 7d101fb3613113d80ad2cd40e3fe2db99d016966 Mon Sep 17 00:00:00 2001
From: Andre Vehreschild <[email protected]>
Date: Fri, 25 Apr 2025 14:37:47 +0200
Subject: [PATCH] Fortran: Unify check of teams parameter in
 failed/stopped_images().

gcc/fortran/ChangeLog:

	* check.cc (gfc_check_failed_or_stopped_images): Support teams
	argument and check for incorrect type.

gcc/testsuite/ChangeLog:

	* gfortran.dg/coarray/failed_images_1.f08: Adapt check of error
	message.
	* gfortran.dg/coarray/stopped_images_1.f08: Same.
---
 gcc/fortran/check.cc                                   | 9 ++-------
 gcc/testsuite/gfortran.dg/coarray/failed_images_1.f08  | 2 +-
 gcc/testsuite/gfortran.dg/coarray/stopped_images_1.f08 | 2 +-
 3 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/gcc/fortran/check.cc b/gcc/fortran/check.cc
index 0ad954118bb..c1f1c660db0 100644
--- a/gcc/fortran/check.cc
+++ b/gcc/fortran/check.cc
@@ -1911,13 +1911,8 @@ gfc_check_f_c_string (gfc_expr *string, gfc_expr *asis)
 bool
 gfc_check_failed_or_stopped_images (gfc_expr *team, gfc_expr *kind)
 {
-  if (team)
-    {
-      gfc_error ("%qs argument of %qs intrinsic at %L not yet supported",
-		 gfc_current_intrinsic_arg[0]->name, gfc_current_intrinsic,
-		 &team->where);
-      return false;
-    }
+  if (team && (!scalar_check (team, 0) || !team_type_check (team, 0)))
+    return false;
 
   if (kind)
     {
diff --git a/gcc/testsuite/gfortran.dg/coarray/failed_images_1.f08 b/gcc/testsuite/gfortran.dg/coarray/failed_images_1.f08
index 4898dd8a7a2..34ae131d15f 100644
--- a/gcc/testsuite/gfortran.dg/coarray/failed_images_1.f08
+++ b/gcc/testsuite/gfortran.dg/coarray/failed_images_1.f08
@@ -8,7 +8,7 @@ program test_failed_images_1
   integer :: i
 
   fi = failed_images()         ! OK
-  fi = failed_images(TEAM=1)   ! { dg-error "'team' argument of 'failed_images' intrinsic at \\(1\\) not yet supported" }
+  fi = failed_images(TEAM=1)   ! { dg-error "'team' argument of 'failed_images' intrinsic at \\(1\\) shall be of type 'team_type' from the intrinsic module 'ISO_FORTRAN_ENV'" }
   fi = failed_images(KIND=1)   ! OK
   fi = failed_images(KIND=4)   ! OK
   fi = failed_images(KIND=0)   ! { dg-error "'kind' argument of 'failed_images' intrinsic at \\\(1\\\) must be positive" }
diff --git a/gcc/testsuite/gfortran.dg/coarray/stopped_images_1.f08 b/gcc/testsuite/gfortran.dg/coarray/stopped_images_1.f08
index 403de585b9a..7658e6bb6bb 100644
--- a/gcc/testsuite/gfortran.dg/coarray/stopped_images_1.f08
+++ b/gcc/testsuite/gfortran.dg/coarray/stopped_images_1.f08
@@ -8,7 +8,7 @@ program test_stopped_images_1
   integer :: i
 
   gi = stopped_images()         ! OK
-  gi = stopped_images(TEAM=1)   ! { dg-error "'team' argument of 'stopped_images' intrinsic at \\(1\\) not yet supported" }
+  gi = stopped_images(TEAM=1)   ! { dg-error "'team' argument of 'stopped_images' intrinsic at \\(1\\) shall be of type 'team_type' from the intrinsic module 'ISO_FORTRAN_ENV'" }
   gi = stopped_images(KIND=1)   ! OK
   gi = stopped_images(KIND=4)   ! OK
   gi = stopped_images(KIND=0)   ! { dg-error "'kind' argument of 'stopped_images' intrinsic at \\\(1\\\) must be positive" }
-- 
2.53.0

Reply via email to