------- Comment #7 from burnus at gcc dot gnu dot org 2007-08-14 15:48 ------- Note: Instead of having the SEQUENCE property, the BIND(C) attribute ("type, bind(c) :: t") suffices as well.
"Two data entities have the same type if they are declared with reference to the same derived-type definition. The definition may be accessed from a module or from a host scoping unit. Data entities indifferent scoping units also have the same type if they are declared with reference to different derived-type definitions that specify the same type name, all have the SEQUENCE property or all have the BIND attribute, have no components with PRIVATE accessibility, and have type parameters and components that agree in order, name, and attributes. Otherwise, they are of different derived types. A data entity declared using a type with the SEQUENCE property or with the BIND attribute is not of the same type as an entity of a type declared to be PRIVATE or that has any components that are PRIVATE." -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22571