Hi, 
 
GNU F95 version 4.1.0 20050727 (experimental) (x86_64-unknown-linux-gnu) gives 
an ICE when compiling the following ugly but valid code (reduced from galgel): 
 
============================================ 
      function foo(n) 
      real*8 foo 
      integer ix, n, next 
      real*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 
============================================ 
 
$ ./f951 -w -m32 -ffixed-form -O2 -ffloat-store lapak.f90 
 foo 
Analyzing compilation unitPerforming intraprocedural optimizations 
Assembling functions: 
 foo 
lapak.f90: In function 'foo': 
lapak.f90:16: internal compiler error: in compensate_edge, at reg-stack.c:2686

-- 
           Summary: ICE in regstack compensate_edge
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P2
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: steven at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org,sayle at gcc dot gnu dot
                    org
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23095

Reply via email to