summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/pr89266.f90
blob: f078adeb4fcf8eaf8a6b3269d3b5b66c919a6da8 (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
! { dg-do run }
!
! PR fortran/89266 - ICE with TRANSFER of len=0 character array constructor

program test
  implicit none
  character(*), parameter :: n = ''
  character(*), parameter :: o = transfer ([''], n)
  character(*), parameter :: p = transfer ( n , n)
  character(*), parameter :: q = transfer ([n], n)
  character(6), save      :: r = transfer ([''], n)
  character(6), save      :: s = transfer ( n , n)
  character(6), save      :: t = transfer ([n], n)
  integer,      parameter :: a(0) = 0
  integer,      parameter :: b(0) = transfer (a, a)
  integer,      save      :: c(0) = transfer (a, a)
  if (len (o) /= 0) stop 1
  if (len (p) /= 0) stop 2
  if (len (q) /= 0) stop 3
  if (r /= "") stop 4
  if (s /= "") stop 5
  if (t /= "") stop 6
  if (size (b) /= 0 .or. any (b /= 0)) stop 7
  if (size (c) /= 0 .or. any (c /= 0)) stop 8
end program test