Moved from PR 40011 comment 40 into an extra PR. Joost reported that the following ICEs in gfc_create_module_variable, at fortran/trans-decl.c:3386
The failing assert is: gcc_assert (TYPE_CONTEXT (decl) == NULL_TREE || TYPE_CONTEXT (decl) == sym->ns->proc_name->backend_decl); debugging shows: p sym->backend_decl->type.context $6 = (tree) 0x2aaaacba85c0 p sym->ns->proc_name->backend_decl->type.context $7 = (tree) 0x0 where: (gdb) p sym->ns->proc_name->name $2 = 0x2aaaacc37e70 "ep_types" (gdb) p sym->name $3 = 0x2aaaacc5e588 "replica_env_type" MODULE replica_types TYPE replica_env_type END TYPE replica_env_type CONTAINS SUBROUTINE rep_env_create(rep_env, para_env, input, nrep, prep,& sync_v,keep_wf_history,row_force) END SUBROUTINE rep_env_create SUBROUTINE rep_envs_add_rep_env(rep_env) TYPE(replica_env_type), POINTER :: rep_env END SUBROUTINE rep_envs_add_rep_env END MODULE replica_types MODULE ep_types USE replica_types TYPE ep_env_type TYPE(replica_env_type), POINTER :: mol_envs END TYPE ep_env_type TYPE ep_env_p_type TYPE(ep_env_type), POINTER :: ep_env END TYPE ep_env_p_type TYPE(ep_env_p_type), DIMENSION(:), POINTER :: ep_envs CONTAINS SUBROUTINE ep_force_release() END SUBROUTINE ep_force_release END MODULE ep_types -- Summary: -fwhole-file: ICE in gfc_create_module_variable, at fortran/trans-decl.c:3386 Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43450