https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98904
--- Comment #10 from David Binderman <dcb314 at hotmail dot com> --- I added the debug lines fprintf( stderr, "%d\n", flag_coarray); fprintf( stderr, "%d\n", lhs_caf_attr.codimension); fprintf( stderr, "%d\n", rhs_caf_attr.codimension); fprintf( stderr, "%d\n", lhs_caf_attr.allocatable); fprintf( stderr, "%d\n", lhs_refs_comp); fprintf( stderr, "%d\n", rhs_caf_attr.allocatable); fprintf( stderr, "%d\n", rhs_refs_comp); around line 11320 of file trans-expr.c, recompiled and re-ran the test. The output from stderr is ==44799== Conditional jump or move depends on uninitialised value(s) ==44799== at 0x525DE53: __vfprintf_internal (in /usr/lib64/libc-2.32.so) ==44799== by 0x525EA6B: buffered_vfprintf (in /usr/lib64/libc-2.32.so) ==44799== by 0x52491D9: fprintf (in /usr/lib64/libc-2.32.so) ==44799== by 0xFE3B61: gfc_trans_assignment_1(gfc_expr*, gfc_expr*, bool, bool, bool, bool) (trans-expr.c:11321) Line 11321 is the second line of debug, so valgrind says lhs_caf_attr.codimension is uninitialised. I also got valgrind output for lines 11322, 11323 and 11325. So it looks to me like the codimension fields and the allocatable fields are not initialised in this case. The next stage may be to find out where those fields are supposed to be initialised and find out why they aren't getting done. I have no familiarity with fortran or its compiler. Perhaps someone would be kind enough to point me in the right direction ?