https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57742
Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED |--- --- Comment #18 from Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> --- The following now fails, so'll reopen this PR. It is at least related to zeroing pvec twice in a row, and doesn seem to happen if I manually inline the routine get_pseudo_param . > cat bug.f90 MODULE atom_fit INTEGER, PARAMETER :: dp=8 CONTAINS SUBROUTINE atom_fit_pseudo () REAL(KIND=dp), ALLOCATABLE, DIMENSION(:) :: x, xi LOGICAL :: lsdpot ALLOCATE(xi(200),STAT=ierr) CALL get_pseudo_param(xi,lsdpot) CALL foo(xi) END SUBROUTINE atom_fit_pseudo SUBROUTINE get_pseudo_param (pvec,lsdpot) REAL(KIND=dp), DIMENSION(:), INTENT(out) :: pvec LOGICAL :: lsdpot IF(lsdpot) THEN pvec = 0 pvec = 0 END IF END SUBROUTINE get_pseudo_param END MODULE atom_fit > gfortran -c -O3 bug.f90 bug.f90: In function ‘atom_fit_pseudo’: bug.f90:4:0: internal compiler error: Segmentation fault SUBROUTINE atom_fit_pseudo () ^ 0xa63a0f crash_signal ../../gcc/gcc/toplev.c:337 0x871f76 bb_seq_addr ../../gcc/gcc/gimple.h:1389 0x871f76 gsi_start_bb ../../gcc/gcc/gimple-iterator.h:118 0x871f76 gsi_for_stmt(gimple_statement_base*) ../../gcc/gcc/gimple-iterator.c:620 0xbfe1c1 handle_builtin_memset ../../gcc/gcc/tree-ssa-strlen.c:1653 0xbfe1c1 strlen_optimize_stmt ../../gcc/gcc/tree-ssa-strlen.c:1917 0xbfe1c1 strlen_dom_walker::before_dom_children(basic_block_def*) ../../gcc/gcc/tree-ssa-strlen.c:2096 0xfa483a dom_walker::walk(basic_block_def*) ../../gcc/gcc/domwalk.c:177 0xbf963d execute ../../gcc/gcc/tree-ssa-strlen.c:2170 Please submit a full bug report,