gfortran 4.1.2/4.2.0/4.3.0 segfaults when compiling the following program: program initbug integer,parameter :: n0 = 3, n = 5 real(kind=8),parameter :: x0(n0) = (/ 0.0d0, 0.0d0, 0.0d0 /) real(kind=8),parameter :: x(n) = (/ -x0, x0(n0-1:1:-1) /) + 1.0d0 end program initbug
Valgrind output: $ valgrind /home/r6144/apps/gcc-4.3.0-070903-bin/bin/../libexec/gcc/i386-pc-linux-gnu/4.3.0/f951 initbug.f90 -quiet -dumpbase initbug.f90 -march=pentium4 -mfpmath=sse -auxbase-strip initbug.o -g -O2 -Wall -W -Wno-unused -Wimplicit-interface -Wtabs -version -ffree-form -ffree-line-length-none -fimplicit-none -ffpe-trap=invalid,zero,overflow -fintrinsic-modules-path /home/r6144/apps/gcc-4.3.0-070903-bin/bin/../lib/gcc/i386-pc-linux-gnu/4.3.0/finclude -o /tmp/ccZfWmpd.s ==5331== Memcheck, a memory error detector. ==5331== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al. ==5331== Using LibVEX rev 1658, a library for dynamic binary translation. ==5331== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP. ==5331== Using valgrind-3.2.1, a dynamic binary instrumentation framework. ==5331== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al. ==5331== For more details, rerun with: -v ==5331== GNU F95 (GCC) version 4.3.0 20070902 (experimental) [trunk revision 128023] (i386-pc-linux-gnu) compiled by GNU C version 4.3.0 20070902 (experimental) [trunk revision 128023], GMP version 4.2.1, MPFR version 2.2.1. GGC heuristics: --param ggc-min-expand=63 --param ggc-min-heapsize=63256 ==5331== Invalid read of size 4 ==5331== at 0x84CCEDB: mpfr_cmp2 (in /home/r6144/apps/gcc-4.3.0-070903-bin/libexec/gcc/i386-pc-linux-gnu/4.3.0/f951) ==5331== by 0x84C6D35: mpfr_sub1 (in /home/r6144/apps/gcc-4.3.0-070903-bin/libexec/gcc/i386-pc-linux-gnu/4.3.0/f951) ==5331== by 0x84B9AB2: mpfr_add (in /home/r6144/apps/gcc-4.3.0-070903-bin/libexec/gcc/i386-pc-linux-gnu/4.3.0/f951) ==5331== by 0x804CB56: gfc_arith_plus (arith.c:657) ==5331== Address 0x812488 is not stack'd, malloc'd or (recently) free'd initbug.f90:0: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. -- Summary: ICE (segfault) in mpfr_cmp2 when evaluating array initializers containing addition Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rainy6144 at gmail dot com GCC build triplet: i386-pc-linux-gnu GCC host triplet: i386-pc-linux-gnu GCC target triplet: i386-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33288