https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65428
--- Comment #4 from Harald Anlauf <anlauf at gmx dot de> --- I tried to follow the state of the variable "cons_state" in array.c for the following codes: j = 0 print *, (/ (/ (i, i=1,j) /) /) ! no ICE and print *, (/ (/ (i, i=1,0) /) /) ! ICE but did not really understand the recursive algorithm. The two cases diverge in the for loop in check_constructor_type, with the first one leading to sane states, but not the other. Giving up.