https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113305
kargl at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |kargl at gcc dot gnu.org
--- Comment #2 from kargl at gcc dot gnu.org ---
(In reply to Richard Biener from comment #1)
> Confirmed.
>
> f951: internal compiler error: Segmentation fault
> 0x17cf885 crash_signal
> /space/rguenther/src/gcc/gcc/toplev.cc:316
> 0xe79b99 resolve_forall_iterators
> /space/rguenther/src/gcc/gcc/fortran/resolve.cc:7620
No idea what ivdep is suppose to do, but it is certainly messing up gfortran.
(gdb) b resolve.cc:7620
Breakpoint 1 at 0x9e076d: file ../../gccx/gcc/fortran/resolve.cc, line 7620.
(gdb) run a.f90
Breakpoint 1, resolve_forall_iterators (it=0x203c6d360)
at ../../gccx/gcc/fortran/resolve.cc:7620
7620 if (gfc_resolve_expr (iter->var)
(gdb) p *it
$5 = {var = 0x203c250a0, start = 0x203c25180, end = 0x203c25260,
stride = 0x203c25340, next = 0x10000}
it->next is set to an invalid address, so the for loop is not
exited. If I remove the '!GCC ivdep' directive, then one see
(gdb) p *it->next
Cannot access memory at address 0x0
the expected result. I think that this is not a Fortran bug, and the
component should be changed to middle-end.