diff options
Diffstat (limited to 'gcc-4.8/gcc/testsuite/gfortran.dg/str_comp_optimize_1.f90')
-rw-r--r-- | gcc-4.8/gcc/testsuite/gfortran.dg/str_comp_optimize_1.f90 | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc-4.8/gcc/testsuite/gfortran.dg/str_comp_optimize_1.f90 b/gcc-4.8/gcc/testsuite/gfortran.dg/str_comp_optimize_1.f90 new file mode 100644 index 000000000..84287b475 --- /dev/null +++ b/gcc-4.8/gcc/testsuite/gfortran.dg/str_comp_optimize_1.f90 @@ -0,0 +1,22 @@ +! { dg-do compile } +! { dg-options "-ffrontend-optimize" } +! +! PR fortran/60341 +! An unguarded union access was wrongly enabling a frontend optimization on a +! string comparison, leading to an ICE. +! +! Original testcase from Steve Chapel <steve.chapel@a2pg.com>. +! Reduced by Steven G. Kargl <kargl@gcc.gnu.org>. +! + + subroutine modelg(ncm) + implicit none + integer, parameter :: pc = 30, pm = pc - 1 + integer i + character*4 catt(pm,2) + integer ncm,iatt(pm,pc) + do i=1,ncm + if (catt(i,1)//catt(i,2).eq.'central') exit + end do + iatt(i,4)=1 + end |