37 lines
724 B
Fortran
37 lines
724 B
Fortran
! { dg-do run }
|
|
! Tests the fix for PR23446. Based on PR example.
|
|
! Contributed by Paul Thomas <pault@gcc.gnu.org>
|
|
!
|
|
! Tests furthermore the fix for PR fortran/29916.
|
|
! Test contributed by Marco Restelli <mrestelli@gmail.com>
|
|
!
|
|
PROGRAM TST
|
|
INTEGER IMAX
|
|
INTEGER :: A(4) = 1
|
|
IMAX=2
|
|
|
|
CALL S(A)
|
|
CALL T(A)
|
|
CALL U(A)
|
|
if ( ALL(A.ne.(/2,2,3,4/))) CALL ABORT ()
|
|
if ( ALL(F().ne.(/2.0,2.0/))) CALL ABORT()
|
|
|
|
CONTAINS
|
|
SUBROUTINE S(A)
|
|
INTEGER A(IMAX)
|
|
a = 2
|
|
END SUBROUTINE S
|
|
SUBROUTINE T(A)
|
|
INTEGER A(3:IMAX+4)
|
|
A(5:IMAX+4) = 3
|
|
END SUBROUTINE T
|
|
SUBROUTINE U(A)
|
|
INTEGER A(2,IMAX)
|
|
A(2,2) = 4
|
|
END SUBROUTINE U
|
|
FUNCTION F()
|
|
real :: F(IMAX)
|
|
F = 2.0
|
|
END FUNCTION F
|
|
ENDPROGRAM TST
|