1! { dg-do compile }
2! { dg-options "-ffrontend-optimize" }
3!
4! PR fortran/60341
5! An unguarded union access was wrongly enabling a frontend optimization on a
6! string comparison, leading to an ICE.
7!
8! Original testcase from Steve Chapel  <steve.chapel@a2pg.com>.
9! Reduced by Steven G. Kargl  <kargl@gcc.gnu.org>.
10!
11
12      subroutine modelg(ncm)
13      implicit none
14      integer, parameter :: pc = 30, pm = pc - 1
15      integer i
16      character*4 catt(pm,2)
17      integer ncm,iatt(pm,pc)
18      do i=1,ncm
19         if (catt(i,1)//catt(i,2).eq.'central') exit
20      end do
21      iatt(i,4)=1
22      end
23