re PR fortran/57697 ([OOP] Segfault with defined assignment for components during intrinsic assignment)
2013-09-18 Tobias Burnus <burnus@net-b.de> PR fortran/57697 * gfortran.dg/defined_assignment_11.f90: New. From-SVN: r202725
This commit is contained in:
parent
f4b525e714
commit
57c6def418
|
@ -1,3 +1,8 @@
|
|||
2013-09-18 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
PR fortran/57697
|
||||
* gfortran.dg/defined_assignment_11.f90: New.
|
||||
|
||||
2013-09-18 Vladimir Makarov <vmakarov@redhat.com>
|
||||
|
||||
PR rtl-optimization/58438
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
! { dg-do run }
|
||||
!
|
||||
! PR fortran/57697
|
||||
!
|
||||
! Further test of typebound defined assignment
|
||||
!
|
||||
module m0
|
||||
implicit none
|
||||
type :: component
|
||||
integer :: i = 42
|
||||
integer, allocatable :: b
|
||||
contains
|
||||
procedure :: assign0
|
||||
generic :: assignment(=) => assign0
|
||||
end type
|
||||
type, extends(component) :: comp2
|
||||
real :: aa
|
||||
end type comp2
|
||||
type parent
|
||||
type(component) :: foo
|
||||
real :: cc
|
||||
end type
|
||||
type p2
|
||||
type(parent) :: x
|
||||
end type p2
|
||||
contains
|
||||
elemental subroutine assign0(lhs,rhs)
|
||||
class(component), intent(INout) :: lhs
|
||||
class(component), intent(in) :: rhs
|
||||
lhs%i = 20
|
||||
end subroutine
|
||||
end module
|
||||
|
||||
program main
|
||||
use m0
|
||||
implicit none
|
||||
type(p2), allocatable :: left
|
||||
type(p2) :: right
|
||||
! print *, right%x%foo%i
|
||||
left = right
|
||||
! print *, left%x%foo%i
|
||||
if (left%x%foo%i /= 20) call abort()
|
||||
end
|
Loading…
Reference in New Issue