Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/trim_1.f90 @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line source
! { dg-do run } ! Torture-test TRIM and LEN_TRIM for correctness. ! Given a total string length and a trimmed length, construct an ! appropriate string and check gfortran gets it right. SUBROUTINE check_trim (full_len, trimmed_len) IMPLICIT NONE INTEGER, INTENT(IN) :: full_len, trimmed_len CHARACTER(LEN=full_len) :: string string = "" IF (trimmed_len > 0) THEN string(trimmed_len:trimmed_len) = "x" END IF IF (LEN (string) /= full_len & .OR. LEN_TRIM (string) /= trimmed_len & .OR. LEN (TRIM (string)) /= trimmed_len & .OR. TRIM (string) /= string (1:trimmed_len)) THEN PRINT *, full_len, trimmed_len PRINT *, LEN (string), LEN_TRIM (string) STOP 1 END IF END SUBROUTINE check_trim ! The main program, check with various combinations. PROGRAM main IMPLICIT NONE INTEGER :: i, j DO i = 0, 20 DO j = 0, i CALL check_trim (i, j) END DO END DO END PROGRAM main