Comments
Patch
@@ -3923,14 +3923,8 @@ gen_cptr_param (gfc_formal_arglist **head,
gfc_symtree *param_symtree = NULL;
gfc_formal_arglist *formal_arg = NULL;
const char *c_ptr_in;
- const char *c_ptr_type = NULL;
iso_c_binding_symbol c_ptr_id;
- if (iso_c_sym_id == ISOCBINDING_F_PROCPOINTER)
- c_ptr_type = "c_funptr";
- else
- c_ptr_type = "c_ptr";
-
if(c_ptr_name == NULL)
c_ptr_in = "gfc_cptr__";
else
@@ -3965,7 +3959,7 @@ gen_cptr_param (gfc_formal_arglist **head,
/* This can happen if the user did not define c_ptr but they are
trying to use one of the iso_c_binding functions that need it. */
generate_isocbinding_symbol (module_name, c_ptr_id, NULL);
- gfc_get_ha_symbol (c_ptr_type, &(c_ptr_sym));
+ c_ptr_sym = get_iso_c_binding_dt (c_ptr_id);
}
param_sym->ts.u.derived = c_ptr_sym;