A "USE, ... ONLY:" statement is allowed to define more than one local name for the same module entity. This is broken for the ISO_C_BINDING module (and perhaps for other intrinsic modules). For example, the following does not work:
program bug_program use ISO_C_Binding, only: C_ptr, C_char_ptr=>C_ptr type(C_ptr) :: p1 end program bug_program It only remembers the last local-name given. This construct does work if the the ISO_C_BINDING module is USEed indirectly by USEing a normal module that USEs ISO_C_BINDING. SO, it seems likely an intrinsic-module issue. -- Summary: ISO_C_BINDING does not allow multiple "USE, ONLY" local names. Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jkrahn at nc dot rr dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44702