view gcc/testsuite/gfortran.dg/bounds_check_strlen_8.f90 @ 128:fe568345ddd5

fix CbC-example
author mir3636
date Wed, 11 Apr 2018 19:32:28 +0900
parents 04ced10e8804
children
line wrap: on
line source

! { dg-do run }
! { dg-options "-fbounds-check" }
!
! PR fortran/40383
! Gave before a bogus out of bounds.
! Contributed by Joost VandeVondele.
!
MODULE M1
  INTEGER, PARAMETER :: default_string_length=80
END MODULE M1
MODULE M2
 USE M1
 IMPLICIT NONE
CONTAINS
 FUNCTION F1(a,b,c,d) RESULT(RES)
   CHARACTER(LEN=default_string_length), OPTIONAL :: a,b,c,d
   LOGICAL :: res
 END FUNCTION F1
END MODULE M2

MODULE M3
 USE M1
 USE M2
 IMPLICIT NONE
CONTAINS
 SUBROUTINE S1
   CHARACTER(LEN=default_string_length) :: a,b
   LOGICAL :: L1
   INTEGER :: i
   DO I=1,10
      L1=F1(a,b)
   ENDDO
 END SUBROUTINE
END MODULE M3

USE M3
CALL S1
END