https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85314
Bug ID: 85314 Summary: gcc/fortran/resolve.c:9222: unreachable code ? Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: dcb314 at hotmail dot com Target Milestone: --- gcc/fortran/resolve.c:9220] -> [trunk/gcc/fortran/resolve.c:9222]: (warning) Identical inner 'if' condition is always true. Source code is if (dt && dt->dt_io_kind->value.iokind != M_INQUIRE && (ts->type == BT_DERIVED || ts->type == BT_CLASS)) { if (ts->type == BT_DERIVED || ts->type == BT_CLASS) derived = ts->u.derived; else derived = ts->u.derived->components->ts.u.derived; I am not sure how the final else ever gets executed.