https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118337
--- Comment #6 from anlauf at gcc dot gnu.org --- (In reply to kargls from comment #4) > If you now compile the following with 14 > > program bar > use foo > print *, len(f_c_string(c_char_'abc')) > end program > > you get > > % gfortran14 -o z ss.f90 > f951: internal compiler error: in gfc_intrinsic_function_by_id, at > fortran/intrinsic.cc:1069 > 0x247159ab9 __libc_start1 > /usr/src/lib/libc/csu/libc_start1.c:157 > Please submit a full bug report, with preprocessed source (by using > -freport-bug). > Please include the complete backtrace with any bug report. > See <https://gcc.gnu.org/bugs/> for instructions. > > The ICE is similar to what you report. Even if the module is arranged > to prevent the ICE. 14's libgfortran.so does not contain f_c_string(), > so it will not compile due to a missing reference. It is clear that one cannot have 2-way compatibility. But I wish we could have a limited version of backward-compatibility, i.e. trying to consume older module versions with newer compilers. Commercial compilers at least try. We might do that for our users, too. It is a PITA to have to recompile a full software stack only because there is a simple addition to the module format.