111
|
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
|
|
8 MODULE m
|
|
9
|
|
10 CONTAINS
|
|
11
|
|
12 SUBROUTINE test (str)
|
|
13 IMPLICIT NONE
|
|
14 CHARACTER(len=5), ALLOCATABLE :: str(:)
|
|
15 END SUBROUTINE test
|
|
16
|
|
17 SUBROUTINE test2 (n)
|
|
18 IMPLICIT NONE
|
|
19 INTEGER :: n
|
|
20 CHARACTER(len=n), ALLOCATABLE :: str(:)
|
|
21 CALL test (str)
|
|
22 END SUBROUTINE test2
|
|
23
|
|
24 END MODULE m
|
|
25
|
|
26 PROGRAM main
|
|
27 USE m
|
|
28 IMPLICIT NONE
|
|
29 CALL test2 (7) ! Too long.
|
|
30 END PROGRAM main
|
|
31
|
|
32 ! { dg-output "does not match the declared one for dummy argument 'str' \\(7/5\\)" }
|