1! { dg-do run } 2! { dg-options "-fbounds-check" } 3! { dg-shouldfail "Character length mismatch" } 4 5! PR fortran/37746 6! Test bounds-checking for string length of dummy arguments. 7 8MODULE m 9 10CONTAINS 11 12 SUBROUTINE test (str) 13 IMPLICIT NONE 14 CHARACTER(len=5) :: str(:) ! Assumed shape. 15 END SUBROUTINE test 16 17 SUBROUTINE test2 (n) 18 IMPLICIT NONE 19 INTEGER :: n 20 CHARACTER(len=n) :: str(2) 21 CALL test (str) 22 END SUBROUTINE test2 23 24END MODULE m 25 26PROGRAM main 27 USE m 28 IMPLICIT NONE 29 CALL test2 (7) ! Too long. 30END PROGRAM main 31 32! { dg-output "does not match the declared one for dummy argument 'str' \\(7/5\\)" } 33