https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91519
--- Comment #9 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- (In reply to kargl from comment #7) > The function check_externals_expr > is somewhat odd. It is declared to return int, but all return > statements are 'return 0'. This suggests to me that proper > declaration for this function is void. It's a callback function for the expression walker. A non-zero return value would mean an immediate return. From frontend-passes.c: #define WALK_SUBEXPR(NODE) \ do \ { \ result = gfc_expr_walker (&(NODE), exprfn, data); \ if (result) \ return result; \ } \ while (0)