https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89840

            Bug ID: 89840
           Summary: [Coarray] CO_BROADCAST: Missing
                    finalization/deallocation of allocatable components
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: damian at sourceryinstitute dot org
  Target Milestone: ---

This report is simply to provide a test case for Bug 64777, which was closed
for lack of a test case.  Because this test cases compiles with OpenCoarrays,
which does not yet support derived-type arguments for co_broadcast, this test
case cannot fully demonstrate the issue, but it seems important to have a test
case that captures the issue for future work once co_broadcast accepts
derived-type arguments.  A more complete test case would also include an
allocatable component inside the derived type:

$cat pr64777.f90 
module foo_module
  implicit none
  type foo
  contains
    final :: done
  end type
contains
  subroutine done(this)
    type(foo) this
    print *,"Finalizing on image ",this_image()
  end subroutine
end module

  use foo_module
  implicit none
  type(foo) bar
  call co_broadcast(bar,source_image=1)
end
$caf pr64777.f90 
$cafrun -n 2 ./a.out
Fortran runtime error on image 1: Unsupported data type in collective: 80

Fortran runtime error on image 2: Unsupported data type in collective: 80

Error: Command:
   `/home/rouson/Builds/opt/mpich/3.2/gnu/9.0.1/bin/mpiexec -n 2 ./a.out`
failed to run.

Reply via email to