! { dg-do run }
! pr35940
      program FA1031
      implicit none
      integer I
      INTEGER IDA1(10)
      LOGICAL GDA1(10)
      INTEGER RSLT(10)
      DATA RSLT /4,1,4,1,4,1,4,1,4,1/
      IDA1   = 0
      gda1 = (/ (i/2*2 .ne. I, i=1,10) /)

      IDA1 = INDEX ( 'DEFDEF' , 'DEF', GDA1 )    !fails
      do I = 1, 10
         if (IDA1(i).NE.RSLT(i)) call abort
      end do
      IDA1 = INDEX ( (/ ('DEFDEF',i=1,10) /) , 'DEF', GDA1 )    !works
      do I = 1, 10
         if (IDA1(i).NE.RSLT(i)) call abort
      end do

      END
