summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/aliasing_dummy_2.f90
blob: 3a3856f68d742fefc9a59b1f2de45b0dacbbaf89 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
! { dg-do compile }
! This tests the fix for PR28885, in which multiple calls to a procedure
! with different components of an array of derived types for an INTENT(OUT)
! argument caused an ICE internal compiler error.  This came about because
! the compiler would lose the temporary declaration with each subsequent
! call of the procedure.
!
! Reduced from the contribution by Drew McCormack  <drewmccormack@mac.com>
!
program test
  type t
    integer :: i
    integer :: j
  end type
  type (t) :: a(5) 
  call sub('one',a%j)
  call sub('two',a%i)
contains
  subroutine sub(key,a)
    integer, intent(out)    :: a(:) 
    character(*),intent(in) :: key
    a = 1   
  end subroutine
end program