summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/bounds_check_strlen_6.f90
blob: 550cca8431f46dbb6b679b73ccd08ebc715f6af2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
! { dg-do run }
! { dg-options "-fbounds-check" }

! PR fortran/37746
! Ensure that too long or matching string lengths don't trigger the runtime
! error for matching string lengths, if the dummy argument is neither
! POINTER nor ALLOCATABLE or assumed-shape.
! Also check that absent OPTIONAL arguments don't trigger the check.

MODULE m
CONTAINS

  SUBROUTINE test (str, opt)
    IMPLICIT NONE
    CHARACTER(len=5) :: str
    CHARACTER(len=5), OPTIONAL :: opt
  END SUBROUTINE test

END MODULE m

PROGRAM main
  USE m
  IMPLICIT NONE
  CALL test ('abcde')  ! String length matches.
  CALL test ('abcdef') ! String too long, is ok.
END PROGRAM main

! { dg-final { cleanup-modules "m" } }