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

            Bug ID: 80708
           Summary: [f08] ALLOCATE with MOLD error if source-expr is a
                    derived type with null-init pointer component
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tamas.bela.feher at ipp dot mpg.de
  Target Milestone: ---

Dear GFortran Team,

For the following program:

program mold_dtype_with_pointer_component
  implicit none
  type t
    real, dimension(:), pointer :: p => null()
  end type
  type(t), dimension(3:4) :: array
  type(t), allocatable, dimension(:) :: h
  allocate(H, mold=array)
end program

GFortran (versions 6.3.0 and 8.0.0 20170427) gives the following error message:

gfortran mold_dtype_pointer.f90
mold_dtype_pointer.f90:8:11:

   allocate(H, mold=array)
           1
Error: Array specification or array-valued SOURCE= expression required in
ALLOCATE statement at (1)

The error disappears if the null-init for pointer p is removed, or if MOLD is
replaced with SOURCE. I would expect that the program compiles even in its
original form.

Best regards,
Tamas

Reply via email to