1! { dg-do run }
2!
3! Test the fix for PR38915 in which the character length of the
4! temporaries produced in the assignments marked below was set to
5! one.
6!
7! Contributed by Dick Hendrickson <dick.hendrickson@gmail.com>
8!
9program cg0033_41
10  type t
11    sequence
12    integer i
13    character(len=9) c
14  end type t
15  type (t)  L(3),R(3), LL(4), RR(4)
16  EQUIVALENCE (L,LL)
17  integer nfv1(3), nfv2(3)
18  R(1)%c = '123456789'
19  R(2)%c = 'abcdefghi'
20  R(3)%c = '!@#$%^&*('
21  L%c = R%c
22  LL(1:3)%c = R%c
23  LL(4)%c = 'QWERTYUIO'
24  RR%c = LL%c            ! The equivalence forces a dependency
25  L%c = LL(2:4)%c
26  if (any (RR(2:4)%c .ne. L%c)) STOP 1
27  nfv1 = (/1,2,3/)
28  nfv2 = nfv1
29  L%c = R%c
30  L(nfv1)%c = L(nfv2)%c  ! The vector indices force a dependency
31  if (any (R%c .ne. L%c)) STOP 2
32end
33
34