mirror of git://gcc.gnu.org/git/gcc.git
re PR fortran/42008 (Wrongly rejected derived types with default initializers in PURE procedures)
2009-11-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/42008 * gfortran.dg/pure_initializer_2.f90: New test. From-SVN: r154530
This commit is contained in:
parent
26d3d4f4dc
commit
6c5222c607
|
@ -1,3 +1,8 @@
|
|||
2009-11-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR fortran/42008
|
||||
* gfortran.dg/pure_initializer_2.f90: New test.
|
||||
|
||||
2009-11-23 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* g++.dg/tc1/dr147.C: Check for helpful messages. Add DR 318 tests.
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
! { dg-do compile }
|
||||
! PR42008 Wrongly rejected derived types with default initializers
|
||||
! in PURE procedures
|
||||
module mod_xyz
|
||||
implicit none
|
||||
contains
|
||||
pure subroutine psub()
|
||||
type ilist
|
||||
type(ilist), pointer :: next => null() ! Valid
|
||||
integer :: i
|
||||
end type ilist
|
||||
end subroutine psub
|
||||
end module mod_xyz
|
||||
|
||||
module mod_xyz2
|
||||
implicit none
|
||||
contains
|
||||
pure subroutine psub()
|
||||
type ilist
|
||||
type(ilist), pointer :: next
|
||||
integer, pointer :: p => null() ! Valid
|
||||
integer :: i
|
||||
end type ilist
|
||||
type(ilist) :: var ! Valid
|
||||
var%next => null()
|
||||
end subroutine psub
|
||||
end module mod_xyz2
|
||||
|
||||
module mod_xyz3
|
||||
implicit none
|
||||
type ilist
|
||||
type(ilist), pointer :: next => null() ! Valid
|
||||
integer :: i
|
||||
end type ilist
|
||||
contains
|
||||
pure subroutine psub()
|
||||
type(ilist) :: var ! Valid
|
||||
end subroutine psub
|
||||
end module mod_xyz3
|
||||
|
||||
pure function test()
|
||||
integer,pointer :: p => null() !{ dg-error "not allowed in a PURE procedure" }
|
||||
integer :: test
|
||||
test = p
|
||||
end function test
|
||||
! { dg-final { cleanup-modules "mod_xyz mod_xyz2 mod_xyz3" } }
|
Loading…
Reference in New Issue