Commit forgotten file
From-SVN: r200070
This commit is contained in:
parent
37ea263afa
commit
fffad99bde
1 changed files with 40 additions and 0 deletions
40
gcc/testsuite/gfortran.dg/typebound_assignment_5.f03
Normal file
40
gcc/testsuite/gfortran.dg/typebound_assignment_5.f03
Normal file
|
@ -0,0 +1,40 @@
|
|||
! { dg-do run }
|
||||
!
|
||||
! PR fortran/49074
|
||||
! ICE on defined assignment with class arrays.
|
||||
|
||||
module foo
|
||||
type bar
|
||||
integer :: i
|
||||
|
||||
contains
|
||||
|
||||
generic :: assignment (=) => assgn_bar
|
||||
procedure, private :: assgn_bar
|
||||
end type bar
|
||||
|
||||
contains
|
||||
|
||||
elemental subroutine assgn_bar (a, b)
|
||||
class (bar), intent (inout) :: a
|
||||
class (bar), intent (in) :: b
|
||||
|
||||
select type (b)
|
||||
type is (bar)
|
||||
a%i = b%i
|
||||
end select
|
||||
|
||||
return
|
||||
end subroutine assgn_bar
|
||||
end module foo
|
||||
|
||||
program main
|
||||
use foo
|
||||
|
||||
type (bar), allocatable :: foobar(:)
|
||||
|
||||
allocate (foobar(2))
|
||||
foobar = [bar(1), bar(2)]
|
||||
if (any(foobar%i /= [1, 2])) call abort
|
||||
end program
|
||||
|
Loading…
Add table
Reference in a new issue