blob: 0598ea54f280a529ec1721b3e3f80adbdb68fc7e [file] [log] [blame]
! { dg-do compile }
!
! Tests the fix for PR70864 in which compiler generated temporaries received
! the attributes of a dummy argument. This is the original testcase.
! The simplified version by Gerhard Steinmetz is gratefully acknowledged.
!
! Contributed by Weiqun Zhang <weiqun.zhang@gmail.com>
!
module boxarray_module
implicit none
type :: BoxArray
integer :: i = 0
contains
procedure :: boxarray_assign
generic :: assignment(=) => boxarray_assign
end type BoxArray
contains
subroutine boxarray_assign (dst, src)
class(BoxArray), intent(inout) :: dst
type (BoxArray), intent(in ) :: src
dst%i =src%i
end subroutine boxarray_assign
end module boxarray_module
module multifab_module
use boxarray_module
implicit none
type, public :: MultiFab
type(BoxArray) :: ba
end type MultiFab
contains
subroutine multifab_swap(mf1, mf2)
type(MultiFab), intent(inout) :: mf1, mf2
type(MultiFab) :: tmp
tmp = mf1
mf1 = mf2 ! Generated an ICE in trans-decl.c.
mf2 = tmp
end subroutine multifab_swap
end module multifab_module