blob: 388c5438252d49342f6bd357850062697fafb7b4 [file] [log] [blame]
! { dg-do run }
!
! Correct an error in the eveluation of the CFI descriptor attribute for
! the case where the bind_C formal argument is not an assumed shape array
! and not allocatable or pointer.
!
! Contributed by Gilles Gouaillardet <gilles@rist.or.jp>
!
MODULE FOO
INTERFACE
SUBROUTINE dummy(buf) BIND(C, name="sync")
type(*), dimension(..) :: buf
END SUBROUTINE
END INTERFACE
END MODULE
PROGRAM main
USE FOO
IMPLICIT NONE
integer(8) :: before, after
INTEGER, parameter :: n = 1
INTEGER, ALLOCATABLE :: buf(:)
INTEGER :: buf2(n)
INTEGER :: i
ALLOCATE(buf(n))
before = LOC(buf(1))
CALL dummy (buf)
after = LOC(buf(1))
if (before .NE. after) stop 1
before = LOC(buf2(1))
CALL dummy (buf)
after = LOC(buf2(1))
if (before .NE. after) stop 2
END PROGRAM