*type = make_node (COMPLEX_TYPE); TREE_TYPE (*type) = ffecom_f2c_doublereal_type_node; layout_type (*type);
*type = ffecom_make_complex_type_ (ffecom_f2c_doublereal_type_node);
ffecom_f2c_make_type_ (tree *type, int tcode, char *name){  switch (tcode)    {    case FFECOM_f2ccodeCHAR:      *type = make_signed_type (CHAR_TYPE_SIZE);      break;    case FFECOM_f2ccodeSHORT:      *type = make_signed_type (SHORT_TYPE_SIZE);      break;    case FFECOM_f2ccodeINT:      *type = make_signed_type (INT_TYPE_SIZE);      break;    case FFECOM_f2ccodeLONG:      *type = make_signed_type (LONG_TYPE_SIZE);      break;    case FFECOM_f2ccodeLONGLONG:      *type = make_signed_type (LONG_LONG_TYPE_SIZE);      break;    case FFECOM_f2ccodeCHARPTR:      *type = build_pointer_type (DEFAULT_SIGNED_CHAR				  ? signed_char_type_node				  : unsigned_char_type_node);      break;    case FFECOM_f2ccodeFLOAT:      *type = make_node (REAL_TYPE);      TYPE_PRECISION (*type) = FLOAT_TYPE_SIZE;      layout_type (*type);      break;    case FFECOM_f2ccodeDOUBLE:      *type = make_node (REAL_TYPE);      TYPE_PRECISION (*type) = DOUBLE_TYPE_SIZE;      layout_type (*type);      break;    case FFECOM_f2ccodeLONGDOUBLE:      *type = make_node (REAL_TYPE);      TYPE_PRECISION (*type) = LONG_DOUBLE_TYPE_SIZE;      layout_type (*type);      break;    case FFECOM_f2ccodeTWOREALS:      *type = make_node (COMPLEX_TYPE);      TREE_TYPE (*type) = ffecom_f2c_real_type_node;      layout_type (*type);      break;    case FFECOM_f2ccodeTWODOUBLEREALS:      *type = make_node (COMPLEX_TYPE);      TREE_TYPE (*type) = ffecom_f2c_doublereal_type_node;      layout_type (*type);      break;    default:      assert ("unexpected FFECOM_f2ccodeXYZZY!" == NULL);      *type = error_mark_node;      return;    }  pushdecl (build_decl (TYPE_DECL,			ffecom_get_invented_identifier ("__g77_f2c_%s",							name, 0),			*type));}