! { dg-do run } ! ! Test the fix for PR77325, which casued an ICE in the gimplifier. The ! segafults in 'contains_struct_check' were found while diagnosing the PR. ! ! Contributed by Gerhard Steinmetz ! program p character(3), parameter :: a(3) = ['abc', 'def', 'ghi'] character(1), parameter :: c(3) = ['a', 'b', 'c'] character(:), allocatable :: z(:) z = c([3,2]) ! Vector subscripts caused an iCE in the gimplifier. if (any (z .ne. ['c', 'b'])) stop 1 z = c if (any (z .ne. ['a', 'b', 'c'])) stop 2 z = c(2:1:-1) if (any (z .ne. ['b', 'a'])) stop 3 z = c(3) if (any (z .ne. ['c', 'c'])) stop 4 z = a([3,1,2]) if (any (z .ne. ['ghi', 'abc', 'def'])) stop 5 z = a(1:2)(2:3) ! Substrings caused a segfault in 'contains_struct_check'. if (any (z .ne. ['bc', 'ef'])) stop 6 z = a([2,3,1])(2:3) ! ditto if (any (z .ne. ['ef', 'hi', 'bc'])) stop 7 deallocate (z) end