https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118705
kargls at comcast dot net changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kargls at comcast dot net --- Comment #1 from kargls at comcast dot net --- Thanks for the bug report, and taking the time to reduce it to a minimal example. The code is hitting an assert at line 4684 in gcc/fortran/interface.cc. If, instead, gfortran returned NULL, then we get an error message heading_s.f90:5:11: 5 | if(.isPrestressBm.class_) write(*,*) "Hello" | 1 Error: Unknown operator 'isprestressbm' at (1) *** Error code 1 If I make the following simple change, where I move the USE statement into the specification part of the the heading_mod, the code compiles. module heading_mod use classification_mod, only: classification_t implicit none private public :: HEADING interface module subroutine HEADING (class_) ! use classification_mod, only: classification_t implicit none type(classification_t), intent(in) :: class_ end subroutine HEADING end interface end module heading_mod I have no idea why this works at the moment.