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

             Bug #: 56681
           Summary: [4.9 Regression] internal compiler error: tree check:
                    expected ssa_name, have var_decl in verify_ssa, at
                    tree-ssa.c:1008
    Classification: Unclassified
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: joost.vandevond...@mat.ethz.ch


The following testcase triggers an ICE in using current trunk, this is a recent
regression.

> cat bug.f90
MODULE test
  TYPE pw_para_type
     INTEGER :: group_size     
     INTEGER, DIMENSION (:,:,:,:), POINTER :: bo 
  END TYPE pw_para_type
  TYPE pw_grid_type
     INTEGER, DIMENSION ( 3 ) :: npts           
     TYPE ( pw_para_type ) :: para             
  END TYPE pw_grid_type
  TYPE pw_type
     TYPE ( pw_grid_type ), POINTER :: pw_grid
  END TYPE pw_type
CONTAINS
  SUBROUTINE rs_pw_transfer_distributed(rs,pw,dir,error)
    TYPE(pw_type), POINTER                   :: pw
    INTEGER, ALLOCATABLE, DIMENSION(:)       :: dshifts, recv_disps, &
                                                recv_reqs, recv_sizes, &
                                                send_sizes, ushifts
    INTEGER, ALLOCATABLE, DIMENSION(:, :)    :: bounds, recv_tasks, send_tasks
    IF ( dir == rs2pw ) THEN
       ALLOCATE ( bounds ( 0:pw % pw_grid % para % group_size - 1, 1:4 ) )
       ALLOCATE ( send_tasks ( 0:pw % pw_grid % para % group_size -1,1:6 ))
       send_tasks(:,1)=1
       DO i = 0, pw % pw_grid % para % group_size - 1
          bounds ( i , 1:2 ) = pw % pw_grid % para % bo (1:2,1,i,1)
          bounds ( i , 1:2 ) = bounds ( i , 1:2 ) - &
                        pw % pw_grid % npts (1) / 2 - 1
       ENDDO
       DO i = 0, pw % pw_grid % para % group_size -1
          recv_sizes(j)  = (recv_tasks( j ,2)-recv_tasks( j ,1)+1)* &
               (recv_tasks( j ,6)-recv_tasks( j ,5)+1)
       ENDDO
    END IF
  END SUBROUTINE rs_pw_transfer_distributed
END MODULE

> gfortran  -O3  bug.f90 
bug.f90: In function ‘rs_pw_transfer_distributed’:
bug.f90:14:0: internal compiler error: tree check: expected ssa_name, have
var_decl in verify_ssa, at tree-ssa.c:1008
   SUBROUTINE rs_pw_transfer_distributed(rs,pw,dir,error)
 ^
0xb7955a tree_check_failed(tree_node const*, char const*, int, char const*,
...)
    ../../gcc/gcc/tree.c:8944
0xb1048a tree_check
    ../../gcc/gcc/tree.h:3684
0xb1048a verify_ssa(bool)
    ../../gcc/gcc/tree-ssa.c:1008
0x8ea3e2 execute_function_todo
    ../../gcc/gcc/passes.c:1964
0x8eadcd execute_todo
    ../../gcc/gcc/passes.c:1996
Please submit a full bug report,
with preprocessed source if appropriate.

 gfortran  -O3  -v bug.f90 
Driving: gfortran -O3 -v bug.f90 -l gfortran -l m -shared-libgcc
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/data/vjoost/gnu/gcc_trunk/install/libexec/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc/configure --prefix=/data/vjoost/gnu/gcc_trunk/install
--enable-languages=c,c++,fortran --disable-multilib --enable-plugins
--enable-lto --disable-bootstrap
Thread model: posix
gcc version 4.9.0 20130321 (experimental) [trunk revision 196847] (GCC) 
COLLECT_GCC_OPTIONS='-O3' '-v' '-shared-libgcc' '-mtune=generic'
'-march=x86-64'

/data/vjoost/gnu/gcc_trunk/install/libexec/gcc/x86_64-unknown-linux-gnu/4.9.0/f951
bug.f90 -quiet -dumpbase bug.f90 -mtune=generic -march=x86-64 -auxbase bug -O3
-version -fintrinsic-modules-path
/data/vjoost/gnu/gcc_trunk/install/lib/gcc/x86_64-unknown-linux-gnu/4.9.0/finclude
-o /tmp/ccEzTpsr.s
GNU Fortran (GCC) version 4.9.0 20130321 (experimental) [trunk revision 196847]
(x86_64-unknown-linux-gnu)
    compiled by GNU C version 4.7.2 20120816 (prerelease) [gcc-4_7-branch
revision 190437], GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU Fortran (GCC) version 4.9.0 20130321 (experimental) [trunk revision 196847]
(x86_64-unknown-linux-gnu)
    compiled by GNU C version 4.7.2 20120816 (prerelease) [gcc-4_7-branch
revision 190437], GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
bug.f90: In function ‘rs_pw_transfer_distributed’:

Reply via email to