https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68575

            Bug ID: 68575
           Summary: [6 Regression] ice: verify_ssa failed, definition in
                    block 2 follows the use
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: Joost.VandeVondele at mat dot ethz.ch
  Target Milestone: ---

overnight regression with current trunk:

> cat bug.f90
MODULE qs_efield_berry
  TYPE cp_error_type
  END TYPE
  INTEGER, PARAMETER :: dp=8
  TYPE qs_energy_type
    REAL(KIND=dp), POINTER :: efield
  END TYPE
  TYPE qs_environment_type
  END TYPE
  INTERFACE 
    SUBROUTINE foo(qs_env,energy,error)
       IMPORT 
       TYPE(qs_environment_type), POINTER :: qs_env
       TYPE(cp_error_type)      :: error
       TYPE(qs_energy_type), POINTER   :: energy
    END SUBROUTINE
  END INTERFACE
CONTAINS
  SUBROUTINE qs_efield_mo_derivatives()
    TYPE(qs_environment_type), POINTER :: qs_env
    TYPE(cp_error_type)  :: error
    COMPLEX(dp)          ::   zi(3), zphase(3)
    REAL(dp)             :: ci(3)
    TYPE(qs_energy_type), POINTER      :: energy
    CALL foo(qs_env, energy, error)
    zi = zi * zphase
    ci = AIMAG(LOG(zi))
    DO idir=1,3
       ener_field=ener_field+ci(idir)*fieldfac(idir)
    END DO
    energy%efield=ener_field
  END SUBROUTINE qs_efield_mo_derivatives
END MODULE qs_efield_berry

> gfortran  -c -O3 bug.f90
bug.f90:19:0:

   SUBROUTINE qs_efield_mo_derivatives()


Error: definition in block 2 follows the use
for SSA_NAME: _65 in statement:
vectp.27_93 = &REALPART_EXPR <zi[_65]>;
bug.f90:19:0: internal compiler error: verify_ssa failed
0xd78664 verify_ssa(bool, bool)
        ../../gcc/gcc/tree-ssa.c:1039
0xa9346d execute_function_todo
        ../../gcc/gcc/passes.c:1965
0xa93e0b execute_todo
        ../../gcc/gcc/passes.c:2010
Please submit a full bug report,
with preprocessed source if appropriate.

> gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/data/vjoost/gnu/gcc_trunk/install/libexec/gcc/x86_64-pc-linux-gnu/6.0.0/lto-wrapper
Target: x86_64-pc-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 6.0.0 20151127 (experimental) [trunk revision 230990] (GCC)

Reply via email to