https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68153
kargl at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kargl at gcc dot gnu.org --- Comment #3 from kargl at gcc dot gnu.org --- This one is interesting. gfc_check_reshape isn't checking 'sh' because it thinks 'sh' is a variable instead of a named constant. So, when gfc_simplify_reshape is called, it runs into an gcc_assert that the element is greater than zero because gfc_check_reshape should have emitted an error. If the gcc_assert is removed, an error message is generated.