break;  case RECORD_TYPE: { ffecomGfrt ix;  if (TREE_TYPE (TYPE_FIELDS (tree_type)) == ffecom_tree_type [FFEINFO_basictypeREAL][FFEINFO_kindtypeREAL1]) ix = FFECOM_gfrtDIV_CC;	 else ix = FFECOM_gfrtDIV_ZZ;	  left = ffecom_1 (ADDR_EXPR, build_pointer_type (TREE_TYPE (left)), left); left = build_tree_list (NULL_TREE, left); right = ffecom_1 (ADDR_EXPR, build_pointer_type (TREE_TYPE (right)), right); right = build_tree_list (NULL_TREE, right); TREE_CHAIN (left) = right;  return ffecom_call_ (ffecom_gfrt_tree_ (ix), ffecom_gfrt_kind_type_ (ix), ffe_is_f2c_library (), tree_type, left, dest_tree, dest, dest_used, NULL_TREE, TRUE); } break;
ffecom_tree_divide_ (tree tree_type, tree left, tree right,		     tree dest_tree, ffebld dest, bool *dest_used){  if ((left == error_mark_node)      || (right == error_mark_node))    return error_mark_node;  switch (TREE_CODE (tree_type))    {    case INTEGER_TYPE:      return ffecom_2 (TRUNC_DIV_EXPR, tree_type,		       left,		       right);    case COMPLEX_TYPE:      {	ffecomGfrt ix;	if (TREE_TYPE (tree_type)	    == ffecom_tree_type [FFEINFO_basictypeREAL][FFEINFO_kindtypeREAL1])	  ix = FFECOM_gfrtDIV_CC;	else	  ix = FFECOM_gfrtDIV_ZZ;	dest_used = NULL;		/* These don't work with overlapping result. */	left = ffecom_1 (ADDR_EXPR,			 build_pointer_type (TREE_TYPE (left)),			 left);	left = build_tree_list (NULL_TREE, left);	right = ffecom_1 (ADDR_EXPR,			  build_pointer_type (TREE_TYPE (right)),			  right);	right = build_tree_list (NULL_TREE, right);	TREE_CHAIN (left) = right;	return ffecom_call_ (ffecom_gfrt_tree_ (ix),			     ffecom_gfrt_kind_type_ (ix),			     ffe_is_f2c_library (),			     tree_type,			     left,			     dest_tree, dest, dest_used,			     NULL_TREE, TRUE);      }    default:      return ffecom_2 (RDIV_EXPR, tree_type,		       left,		       right);    }}