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