blob: 14bc4a075927acbfc5d8604bc17086b02e6bd361 [file] [log] [blame]
! { dg-do compile }
! PR 38536 - don't reject substring of length one
! Original test case by Scot Breitenfeld
SUBROUTINE test(buf, buf2, buf3, n)
USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
CHARACTER(LEN=*), INTENT(INOUT), TARGET :: buf
INTEGER, INTENT(in) :: n
CHARACTER(LEN=*), INTENT(INOUT), DIMENSION(1:2), TARGET :: buf2
CHARACTER(LEN=3), TARGET :: buf3
TYPE(C_PTR) :: f_ptr
f_ptr = C_LOC(buf(1:1)) ! Used to fail
! Error: CHARACTER argument 'buf' to 'c_loc'
! at (1) must have a length of 1
f_ptr = C_LOC(buf2(1)(1:1)) ! PASSES
f_ptr = C_LOC(buf(n:n))
f_ptr = C_LOC(buf3(3:))
END SUBROUTINE test