http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57987
--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> --- Comment on attachment 30558 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30558 An unsuccessful attempt to fix this >+ if (!has_coarray_vars || gfc_option.coarray == GFC_FCOARRAY_LIB) >+ (void) cgraph_create_node (fndecl); It seems to work if I change the condition to: || gfc_option.coarray != GFC_FCOARRAY_LIB) which matches the comment and looks more reasonable. (Don't ask me why the normal !(a && b != c) -> (!a || b == c) doesn't work. It's to hot to think about it.)