http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60341
--- Comment #5 from Steve Kargl <sgk at troutmask dot apl.washington.edu> --- On Wed, Feb 26, 2014 at 07:15:49PM +0000, kargl at gcc dot gnu.org wrote: The workaround should be obvious, but just encase > Reduced testcase > > subroutine modelg(ncm) > implicit none > integer, parameter :: pc = 30, pm = pc - 1 > integer i > character*4 catt(pm,2) character(len=7) stmp > integer ncm,iatt(pm,pc) > do i=1,ncm stmp = catt(i,1)//catt(i,2) if (stmp .eq. 'central') exit > if (catt(i,1)//catt(i,2).eq.'central') exit > end do > iatt(i,4)=1 > end A similar temporary should be applicable to the original code.