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’: