On 7/24/26 8:18 AM, Paul Richard Thomas wrote:
Hello All,
 From John Reid's "Summary_of_Fortran_2018":

3.5 Coarrays allocated in teams

....snip....

In Fortran 2018, synchronization is now across the team, of course. Symmetric memory is maintained within teams by requiring that

1. any allocatable coarray that is allocated before entry to a change team construct remains allocated during the execution of the construct and 2. any allocatable coarray that becomes allocated within a change team construct and is still allocated when the construct is left is automatically deallocated, even if it has the save attribute.

....more snips....

Requirement 2 is not yet implemented in gfortran. The attachment does the job.

Regression tested on FC44/x86_64 - OK for mainline and eventual backporting to 16-branch?

Paul


This looks OK to go Paul.

The only question I have in here:

+           {
+             dealloc = get_guarded_dealloc (gfc_current_ns, e);
+             if (dealloc)
+               {
+                 dealloc->next = last_stmt->next;
+                 last_stmt->next = dealloc;
+                 break;
+               }

Can dealloc ever be NULL? or are you only being safe here?

Thanks for the work!

Jerry

Reply via email to