https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98904
Tobias Burnus <burnus at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |burnus at gcc dot gnu.org --- Comment #4 from Tobias Burnus <burnus at gcc dot gnu.org> --- The code has: ... lhs_refs_comp = false, rhs_refs_comp = false ... if (flag_coarray == GFC_FCOARRAY_LIB) { lhs_caf_attr = gfc_caf_attr (expr1, false, &lhs_refs_comp); rhs_caf_attr = gfc_caf_attr (expr2, false, &rhs_refs_comp); } ... And the error "Conditional jump or move depends on uninitialised value(s)" points, as you wrote, to the second line of else if (flag_coarray == GFC_FCOARRAY_LIB && lhs_caf_attr.codimension && rhs_caf_attr.codimension && ((lhs_caf_attr.allocatable && lhs_refs_comp) || (rhs_caf_attr.allocatable && rhs_refs_comp))) However, the code looks perfectly fine to me.