[Bug fortran/42008] New: Wrongly rejected derived types with default initializers in PURE procedures
burnus at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Nov 11 11:17:00 GMT 2009
Found at
http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/141265154c2fcc71
Reinhold Bader thinks that at least the second program, using default
initializers, is valid. Oddly, the program works with the TYPE is not defined
locally but use-associated.
The first program of M. Restelli is presumably wrong as it uses variables which
are implicitly declared as SAVE. - But one should re-check.
ifort v11.1, NAG f95 v5.1, pathscale 3.3b all accept all programs, g95 and
gfortran reject "one" and "two (B)".
!------ Program one ----------
module mod_xyz
implicit none
contains
pure subroutine psub()
type ilist
type(ilist), pointer :: next => null()
integer :: i
end type ilist
end subroutine psub
end module mod_xyz
!------------------
!---------- Program two (A) ----------
module mod_xyz
implicit none
type ilist
type(ilist), pointer :: next => null()
integer :: i
end type ilist
contains
pure subroutine psub()
type(ilist) :: var ! ACCEPTED
end subroutine psub
end module mod_xyz
!---------- Program two (B) ----------
module mod_xyz2
implicit none
contains
pure subroutine psub()
type ilist
type(ilist), pointer :: next => null()
integer :: i
end type ilist
type(ilist) :: var ! REJECTED
end subroutine psub
end module mod_xyz2
!---------------------------------
--
Summary: Wrongly rejected derived types with default initializers
in PURE procedures
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42008
More information about the Gcc-bugs
mailing list