------- Comment #2 from janus at gcc dot gnu dot org 2009-06-22 21:56 ------- The missing checks are due to the following code in interface.c (compare_parameter):
if (formal->ts.type == BT_DERIVED && formal->ts.derived && formal->ts.derived->ts.is_iso_c && actual->ts.type == BT_DERIVED && actual->ts.derived && actual->ts.derived->ts.is_iso_c) return 1; Either this should be removed altogether, or at least the derived types should be checked for equality. However, removing it causes iso_c_binding_rename_1.f03 to fail. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38894