view gcc/testsuite/gfortran.dg/array_constructor_type_10.f03 @ 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 }
! { dg-options "-fbounds-check" }
!
! PR fortran/27997
!
! Array constructor with typespec and dynamic
! character length.
!
PROGRAM test
  CALL foo(8, "short", "short")
  CALL foo(2, "lenghty", "le")
CONTAINS
  SUBROUTINE foo (n, s, shouldBe)
    CHARACTER(len=*) :: s
    CHARACTER(len=*) :: shouldBe
    CHARACTER(len=16) :: arr(2)
    INTEGER :: n
    arr = [ character(len=n) :: s, s ]
    IF (arr(1) /= shouldBe .OR. arr(2) /= shouldBe) THEN
      STOP 1
    END IF
  END SUBROUTINE foo
END PROGRAM test