https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88124
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 --- I think you're running into undefined behavior. Even though the derive type defined in the include file is obviously identical when the main program and subroutine are in different files and the file is INCLUDEd and therefore compiled separately, these are different types. The namespaces for the main program and the subroutine are different.