summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/pr23095.f
blob: 06b78b3484756b055ab72f86d3bf3da29f00eac9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
      ! { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } }
      ! { dg-options "-w -O2 -ffloat-store -fgcse-after-reload" }
      !
      ! GCSE after reload made a stack register live across an abnormal
      ! edges for one of the computed jumps.  This bombed in reg-stack.
      function foo(n) 
      real(kind=8) foo 
      integer ix, n, next 
      real(kind=8) xmax, absx 
      foo  = 0.0d0 
      assign 20 to next 
      do ix = 1,n 
         go to next,(10, 30) 
   10    assign 40 to next 
         go to 40 
   20    if (absx .gt. 8.232d-11) go to 40 
   30    if (absx .le. xmax) go to 40 
         xmax = absx 
   40    go to next,(10, 30) 
      end do 
      return 
      end