Index: resolve.c =================================================================== --- resolve.c (revision 246070) +++ resolve.c (working copy) @@ -15675,6 +15675,13 @@ resolve_equivalence (gfc_equiv *eq) && !resolve_equivalence_derived (e->ts.u.derived, sym, e)) continue; + if (sym->attr.is_bind_c) + { + gfc_error ("EQUIVALENCE object %qs at %L cannot be C interop", + sym->name, &e->where); + continue; + } + /* Check that the types correspond correctly: Note 5.28: A numeric sequence structure may be equivalenced to another sequence