https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71203
Harald Anlauf <anlauf at gmx dot de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |anlauf at gmx dot de --- Comment #5 from Harald Anlauf <anlauf at gmx dot de> --- For the case z4, setting a breakpoint at decl.c:1793, we have: (gdb) l 1788 " with scalar", &sym->declared_at); 1789 return false; 1790 } 1791 1792 /* Shape should be present, we get an initialization expression. */ 1793 gcc_assert (init->shape); (gdb) print init->shape $14 = (mpz_t *) 0x0 If I replace integer, parameter :: y(*) = [(x(i:i), i=1,2)] by integer, parameter :: y(*) = [x(1:1), x(2:2)] ! works I get: (gdb) print init->shape $15 = (mpz_t *) 0x9da9fa0 So the implied do in the constructor loses information.