https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96325
--- Comment #2 from Kirill Chilikin <chilikin.k at gmail dot com> --- Yes, there is no type-bound procedure really, and, yes, there is a bug in the code (intentionally: it was called for the wrong variable, which is removed for the test case). The module M2 indeed does not use anything from M1 (due to simplification of the real code). And, yes, the gfortran should tell that this statement is not classifiable - 8.3.0 does this, but 10.2.0 successfully compiles the code without reporting any error.