Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
00001 /* 00002 00003 Copyright (C) 2000, 2001 Silicon Graphics, Inc. All Rights Reserved. 00004 00005 This program is free software; you can redistribute it and/or modify it 00006 under the terms of version 2.1 of the GNU Lesser General Public License 00007 as published by the Free Software Foundation. 00008 00009 This program is distributed in the hope that it would be useful, but 00010 WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00012 00013 Further, this software is distributed without any warranty that it is 00014 free of the rightful claim of any third person regarding infringement 00015 or the like. Any license provided herein, whether implied or 00016 otherwise, applies only to this software file. Patent licenses, if 00017 any, provided herein do not apply to combinations of this program with 00018 other software, or any other product whatsoever. 00019 00020 You should have received a copy of the GNU Lesser General Public 00021 License along with this program; if not, write the Free Software 00022 Foundation, Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, 00023 USA. 00024 00025 Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pky, 00026 Mountain View, CA 94043, or: 00027 00028 http://www.sgi.com 00029 00030 For further information regarding this notice, see: 00031 00032 http://oss.sgi.com/projects/GenInfo/NoticeExplan 00033 00034 */ 00035 00036 00037 static char USMID[] = "@(#) libcif/cifdata.c 30.8 07/26/96 07:19:13"; 00038 00039 00040 /* -------------------------------------------------------------------------- 00041 * cifdata contains initialization of CIF internal global data. 00042 * -------------------------------------------------------------------------- 00043 */ 00044 00045 #define CIF_VERSION 3 00046 00047 #ifdef _ABSOFT 00048 #include "cif.h" 00049 #else 00050 #include <cif.h> 00051 #endif 00052 00053 #include <stdio.h> 00054 #include <stdlib.h> 00055 00056 #include "cif_int.h" 00057 00058 /* --- size of each record structure --- */ 00059 const short _Cif_structsize[CIF_MAXRECORD][_CIF_INT_VERSION + 1] = { 00060 /* + 1 allows us to index by cif_version 00061 which starts at 1 */ 00062 00063 /* Version 1 Version 2 Version 3*/ 00064 00065 0, 0, 0, 0, /* 00 */ 00066 0, sizeof(struct Cif_callsite), sizeof(struct Cif_callsite), sizeof(struct Cif_callsite), /* 01= CIF_CALLSITE */ 00067 0, sizeof(struct Cif_cifhdr), sizeof(struct Cif_cifhdr), sizeof(struct Cif_cifhdr), /* 02= CIF_CIFHDR */ 00068 0, sizeof(struct Cif_comblk_1), sizeof(struct Cif_comblk), sizeof(struct Cif_comblk), /* 03= CIF_COMBLK */ 00069 0, sizeof(struct Cif_const), sizeof(struct Cif_const), sizeof(struct Cif_const), /* 04= CIF_CONST */ 00070 0, 0, sizeof(struct Cif_cdir), sizeof(struct Cif_cdir), /* 05= CIF_CDIR */ 00071 0, sizeof(struct Cif_entry), sizeof(struct Cif_entry), sizeof(struct Cif_entry), /* 06= CIF_ENTRY */ 00072 0, sizeof(struct Cif_file_1), sizeof(struct Cif_file_1), sizeof(struct Cif_file), /* 07= CIF_FILE */ 00073 0, sizeof(struct Cif_loop), sizeof(struct Cif_loop), sizeof(struct Cif_loop), /* 08= CIF_LOOP */ 00074 0, sizeof(struct Cif_include), sizeof(struct Cif_include), sizeof(struct Cif_include), /* 09= CIF_INCLUDE */ 00075 0, sizeof(struct Cif_label), sizeof(struct Cif_label), sizeof(struct Cif_label), /* 10= CIF_LABEL */ 00076 0, sizeof(struct Cif_message_1), sizeof(struct Cif_message_1), sizeof(struct Cif_message), /* 11= CIF_MESSAGE */ 00077 0, sizeof(struct Cif_namelist), sizeof(struct Cif_namelist), sizeof(struct Cif_namelist), /* 12= CIF_NAMELIST */ 00078 0, sizeof(struct Cif_object_1), sizeof(struct Cif_object), sizeof(struct Cif_object), /* 13= CIF_OBJECT */ 00079 0, sizeof(struct Cif_srcfile), sizeof(struct Cif_srcfile), sizeof(struct Cif_srcfile), /* 14= CIF_SRCFILE */ 00080 0, sizeof(struct Cif_summary), sizeof(struct Cif_summary), sizeof(struct Cif_summary), /* 15= CIF_SUMMARY */ 00081 0, 0, sizeof(struct Cif_cdir_doshared),sizeof(struct Cif_cdir_doshared), /* 16= CIF_CDIR_DOSHARED */ 00082 0, sizeof(struct Cif_unit), sizeof(struct Cif_unit), sizeof(struct Cif_unit), /* 17= CIF_UNIT */ 00083 0, sizeof(struct Cif_endunit), sizeof(struct Cif_endunit), sizeof(struct Cif_endunit), /* 18= CIF_ENDUNIT */ 00084 0, sizeof(struct Cif_usage_1), sizeof(struct Cif_usage), sizeof(struct Cif_usage), /* 19= CIF_USAGE */ 00085 0, sizeof(struct Cif_nd_msg), sizeof(struct Cif_nd_msg), sizeof(struct Cif_nd_msg), /* 20= CIF_ND_MSG */ 00086 0, sizeof(struct Cif_edopts), sizeof(struct Cif_edopts), sizeof(struct Cif_edopts), /* 21= CIF_EDOPTS */ 00087 0, sizeof(struct Cif_mach_char_1), sizeof(struct Cif_mach_char), sizeof(struct Cif_mach_char), /* 22= CIF_MACH_CHAR*/ 00088 0, sizeof(struct Cif_misc_opts_1), sizeof(struct Cif_misc_opts), sizeof(struct Cif_misc_opts), /* 23= CIF_MISC_OPTS*/ 00089 0, sizeof(struct Cif_opt_opts_1), sizeof(struct Cif_opt_opts), sizeof(struct Cif_opt_opts), /* 24= CIF_OPT_OPTS */ 00090 0, sizeof(struct Cif_stmt_type), sizeof(struct Cif_stmt_type), sizeof(struct Cif_stmt_type), /* 25= CIF_STMT_TYPE*/ 00091 0, 0, sizeof(struct Cif_geometry), sizeof(struct Cif_geometry), /* 26= CIF_GEOMETRY */ 00092 0, 0, sizeof(struct Cif_continuation),sizeof(struct Cif_continuation), /* 27= CIF_CONTINUATION */ 00093 0, 0, sizeof(struct Cif_f90_callsite), sizeof(struct Cif_f90_callsite), /* 28= CIF_F90_CALLSITE */ 00094 0, 0, sizeof(struct Cif_f90_comblk), sizeof(struct Cif_f90_comblk), /* 29= CIF_F90_COMBLK */ 00095 0, 0, sizeof(struct Cif_f90_const), sizeof(struct Cif_f90_const), /* 30= CIF_F90_CONST */ 00096 0, 0, sizeof(struct Cif_f90_entry), sizeof(struct Cif_f90_entry), /* 31= CIF_F90_ENTRY */ 00097 0, 0, sizeof(struct Cif_f90_loop), sizeof(struct Cif_f90_loop), /* 32= CIF_F90_LOOP */ 00098 0, 0, sizeof(struct Cif_f90_derived_type_2),sizeof(struct Cif_f90_derived_type), /* 33= CIF_F90_DERIVED_TYPE */ 00099 0, 0, sizeof(struct Cif_f90_label), sizeof(struct Cif_f90_label), /* 34= CIF_F90_LABEL */ 00100 0, 0, sizeof(struct Cif_f90_namelist), sizeof(struct Cif_f90_namelist), /* 35= CIF_F90_NAMELIST */ 00101 0, 0, sizeof(struct Cif_f90_object), sizeof(struct Cif_f90_object), /* 36= CIF_F90_OBJECT */ 00102 0, 0, sizeof(struct Cif_f90_misc_opts), sizeof(struct Cif_f90_misc_opts), /* 37= CIF_F90_MISC_OPTS */ 00103 0, 0, sizeof(struct Cif_f90_opt_opts), sizeof(struct Cif_f90_opt_opts), /* 38= CIF_F90_OPT_OPTS */ 00104 0, 0, sizeof(struct Cif_f90_begin_scope), sizeof(struct Cif_f90_begin_scope), /* 39= CIF_F90_BEGIN_SCOPE */ 00105 0, 0, sizeof(struct Cif_f90_end_scope), sizeof(struct Cif_f90_end_scope), /* 40= CIF_F90_END_SCOPE */ 00106 0, 0, sizeof(struct Cif_f90_scope_info), sizeof(struct Cif_f90_scope_info), /* 41= CIF_F90_SCOPE_INFO */ 00107 0, 0, sizeof(struct Cif_f90_use_module), sizeof(struct Cif_f90_use_module), /* 42= CIF_F90_USE_MODULE */ 00108 0, 0, sizeof(struct Cif_f90_rename), sizeof(struct Cif_f90_rename), /* 43= CIF_F90_RENAME */ 00109 0, 0, sizeof(struct Cif_f90_int_block_2), sizeof(struct Cif_f90_int_block), /* 44= CIF_F90_INT_BLOCK */ 00110 0, 0, sizeof(struct Cif_f90_vectorization), sizeof(struct Cif_f90_vectorization), /* 45= CIF_F90_VECTORIZATION */ 00111 0, 0, sizeof(struct Cif_BE_node_2), sizeof(struct Cif_BE_node), /* 46= CIF_BE_NODE */ 00112 0, 0, 0, 0, /* 47 */ 00113 0, sizeof(struct Cif_filedir), sizeof(struct Cif_filedir), sizeof(struct Cif_filedir), /* 48= CIF_FILEDIR */ 00114 0, sizeof(struct Cif_unitdir), sizeof(struct Cif_unitdir), sizeof(struct Cif_unitdir), /* 49= CIF_UNITDIR */ 00115 0, 0, sizeof(struct Cif_BE_fid), sizeof(struct Cif_BE_fid), /* 50= CIF_BE_FID */ 00116 0, sizeof(struct Cif_c_tag), sizeof(struct Cif_c_tag), sizeof(struct Cif_c_tag), /* 51= CIF_C_TAG */ 00117 0, sizeof(struct Cif_c_opts), sizeof(struct Cif_c_opts), sizeof(struct Cif_c_opts), /* 52= CIF_C_OPTS */ 00118 0, sizeof(struct Cif_c_message_1), sizeof(struct Cif_c_message), sizeof(struct Cif_c_message), /* 53= CIF_C_MESSAGE*/ 00119 0, sizeof(struct Cif_c_const), sizeof(struct Cif_c_const), sizeof(struct Cif_c_const), /* 54= CIF_C_CONST */ 00120 0, sizeof(struct Cif_c_entry_1), sizeof(struct Cif_c_entry), sizeof(struct Cif_c_entry), /* 55= CIF_C_ENTRY */ 00121 0, sizeof(struct Cif_c_object), sizeof(struct Cif_c_object), sizeof(struct Cif_c_object), /* 56= CIF_C_OBJECT */ 00122 0, 0, sizeof(struct Cif_c_lint_directive), sizeof(struct Cif_c_lint_directive), /* 57= CIF_C_LINT_DIRECTIVE */ 00123 0, 0, sizeof(struct Cif_c_macro_def), sizeof(struct Cif_c_macro_def), /* 58= CIF_C_MACRO_DEF */ 00124 0, 0, sizeof(struct Cif_c_macro_undef), sizeof(struct Cif_c_macro_undef), /* 59= CIF_C_MACRO_UNDEF */ 00125 0, 0, sizeof(struct Cif_c_macro_usage), sizeof(struct Cif_c_macro_usage), /* 60= CIF_C_MACRO_USAGE */ 00126 0, 0, sizeof(struct Cif_c_entry_end), sizeof(struct Cif_c_entry_end), /* 61= CIF_C_ENTRY_END */ 00127 0, 0, 0, 0, /* 62 */ 00128 0, 0, 0, 0, /* 63 */ 00129 0, 0, 0, 0, /* 64 */ 00130 0, 0, 0, 0, /* 65 */ 00131 0, 0, 0, 0, /* 66 */ 00132 0, 0, 0, 0, /* 67 */ 00133 0, 0, 0, 0, /* 68 */ 00134 0, 0, 0, 0, /* 69 */ 00135 0, 0, 0, sizeof(struct Cif_src_pos), /* 70= CIF_ORIG_CMD */ 00136 0, 0, 0, 0, /* 71 */ 00137 0, 0, 0, 0, /* 72 */ 00138 0, 0, 0, 0, /* 73 */ 00139 0, 0, 0, 0, /* 74 */ 00140 0, 0, 0, 0, /* 75 */ 00141 0, 0, 0, 0, /* 76 */ 00142 0, 0, 0, 0, /* 77 */ 00143 0, 0, 0, 0, /* 78 */ 00144 0, 0, 0, 0, /* 79 */ 00145 0, 0, 0, sizeof(struct Cif_cc_type), /* 80= CIF_CC_TYPE */ 00146 0, 0, 0, sizeof(struct Cif_cc_entry), /* 81= CIF_CC_ENTRY */ 00147 0, 0, 0, sizeof(struct Cif_cc_obj), /* 82= CIF_CC_OBJ */ 00148 0, 0, 0, sizeof(struct Cif_cc_subtype), /* 83= CIF_CC_SUBTYPE */ 00149 0, 0, 0, sizeof(struct Cif_cc_enum), /* 84= CIF_CC_ENUM */ 00150 0, 0, 0, sizeof(struct Cif_cc_expr), /* 85= CIF_CC_EXPR */ 00151 0, 0, 0, sizeof(struct Cif_src_pos) /* 86= CIF_SRC_POS */ 00152 }; 00153 00154 /* --- size of each (possibly shortened) binary record structure --- */ 00155 const short _Cif_shortsize[CIF_MAXRECORD][_CIF_INT_VERSION + 1] = { 00156 /* + 1 allows us to index by cif_version 00157 which starts at 1 */ 00158 0, 0, 0, 0, /* 00 */ 00159 0, CALLSITE_SSIZE, CALLSITE_SSIZE, CALLSITE_SSIZE, /* 01= CIF_CALLSITE */ 00160 0, CIFHDR_SSIZE, CIFHDR_SSIZE, CIFHDR_SSIZE, /* 02= CIF_CIFHDR */ 00161 0, COMBLK_SSIZE_1, COMBLK_SSIZE, COMBLK_SSIZE, /* 03= CIF_COMBLK */ 00162 0, CONST_SSIZE, CONST_SSIZE, CONST_SSIZE, /* 04= CIF_CONST */ 00163 0, 0, CDIR_SSIZE, CDIR_SSIZE, /* 05= CIF_CDIR */ 00164 0, ENTRY_SSIZE, ENTRY_SSIZE, ENTRY_SSIZE, /* 06= CIF_ENTRY */ 00165 0, FILE_SSIZE_1, FILE_SSIZE_1, FILE_SSIZE, /* 07= CIF_FILE */ 00166 0, LOOP_SSIZE, LOOP_SSIZE, LOOP_SSIZE, /* 08= CIF_LOOP */ 00167 0, INCLUDE_SSIZE, INCLUDE_SSIZE, INCLUDE_SSIZE, /* 09= CIF_INCLUDE */ 00168 0, LABEL_SSIZE, LABEL_SSIZE, LABEL_SSIZE, /* 10= CIF_LABEL */ 00169 0, MESSAGE_SSIZE_1, MESSAGE_SSIZE_1, MESSAGE_SSIZE, /* 11= CIF_MESSAGE */ 00170 0, NAMELIST_SSIZE, NAMELIST_SSIZE, NAMELIST_SSIZE, /* 12= CIF_NAMELIST */ 00171 0, OBJECT_SSIZE_1, OBJECT_SSIZE, OBJECT_SSIZE, /* 13= CIF_OBJECT */ 00172 0, SRCFILE_SSIZE, SRCFILE_SSIZE, SRCFILE_SSIZE, /* 14= CIF_SRCFILE */ 00173 0, SUMMARY_SSIZE, SUMMARY_SSIZE, SUMMARY_SSIZE, /* 15= CIF_SUMMARY */ 00174 0, 0, CDIR_DOSHARED_SSIZE, CDIR_DOSHARED_SSIZE, /* 16= CIF_CDIR_DOSHARED */ 00175 0, UNIT_SSIZE, UNIT_SSIZE, UNIT_SSIZE, /* 17= CIF_UNIT */ 00176 0, ENDUNIT_SSIZE, ENDUNIT_SSIZE, ENDUNIT_SSIZE, /* 18= CIF_ENDUNIT */ 00177 0, USAGE_SSIZE_1, USAGE_SSIZE, USAGE_SSIZE, /* 19= CIF_USAGE */ 00178 0, ND_MSG_SSIZE, ND_MSG_SSIZE, ND_MSG_SSIZE, /* 20= CIF_ND_MSG */ 00179 0, EDOPTS_SSIZE, EDOPTS_SSIZE, EDOPTS_SSIZE, /* 21= CIF_EDOPTS */ 00180 0, MACH_CHAR_SSIZE_1, MACH_CHAR_SSIZE, MACH_CHAR_SSIZE, /* 22= CIF_MACH_CHAR */ 00181 0, MISC_OPTS_SSIZE_1, MISC_OPTS_SSIZE, MISC_OPTS_SSIZE, /* 23= CIF_MISC_OPTS */ 00182 0, OPT_OPTS_SSIZE_1, OPT_OPTS_SSIZE, OPT_OPTS_SSIZE, /* 24= CIF_OPT_OPTS */ 00183 0, STMT_TYPE_SSIZE, STMT_TYPE_SSIZE, STMT_TYPE_SSIZE, /* 25= CIF_STMT_TYPE */ 00184 0, 0, GEOMETRY_SSIZE, GEOMETRY_SSIZE, /* 26= CIF_GEOMETRY */ 00185 0, 0, CONTINUATION_SSIZE, CONTINUATION_SSIZE, /* 27= CIF_CONTINUATION */ 00186 0, 0, F90_CALLSITE_SSIZE, F90_CALLSITE_SSIZE, /* 28= CIF_F90_CALLSITE */ 00187 0, 0, F90_COMBLK_SSIZE, F90_COMBLK_SSIZE, /* 29= CIF_F90_COMBLK */ 00188 0, 0, F90_CONST_SSIZE, F90_CONST_SSIZE, /* 30= CIF_F90_CONST */ 00189 0, 0, F90_ENTRY_SSIZE, F90_ENTRY_SSIZE, /* 31= CIF_F90_ENTRY */ 00190 0, 0, F90_LOOP_SSIZE, F90_LOOP_SSIZE, /* 32= CIF_F90_LOOP */ 00191 0, 0, F90_DERIVED_TYPE_SSIZE_2, F90_DERIVED_TYPE_SSIZE, /* 33= CIF_F90_DERIVED_TYPE */ 00192 0, 0, F90_LABEL_SSIZE, F90_LABEL_SSIZE, /* 34= CIF_F90_LABEL */ 00193 0, 0, F90_NAMELIST_SSIZE, F90_NAMELIST_SSIZE, /* 35= CIF_F90_NAMELIST */ 00194 0, 0, F90_OBJECT_SSIZE, F90_OBJECT_SSIZE, /* 36= CIF_F90_OBJECT */ 00195 0, 0, F90_MISC_OPTS_SSIZE, F90_MISC_OPTS_SSIZE, /* 37= CIF_F90_MISC_OPTS */ 00196 0, 0, F90_OPT_OPTS_SSIZE, F90_OPT_OPTS_SSIZE, /* 38= CIF_F90_OPT_OPTS */ 00197 0, 0, F90_BEGIN_SCOPE_SSIZE, F90_BEGIN_SCOPE_SSIZE, /* 39= CIF_F90_BEGIN_SCOPE */ 00198 0, 0, F90_END_SCOPE_SSIZE, F90_END_SCOPE_SSIZE, /* 40= CIF_F90_END_SCOPE */ 00199 0, 0, F90_SCOPE_INFO_SSIZE, F90_SCOPE_INFO_SSIZE, /* 41= CIF_F90_SCOPE_INFO */ 00200 0, 0, F90_USE_MODULE_SSIZE, F90_USE_MODULE_SSIZE, /* 42= CIF_F90_USE_MODULE */ 00201 0, 0, F90_RENAME_SSIZE, F90_RENAME_SSIZE, /* 43= CIF_F90_RENAME */ 00202 0, 0, F90_INT_BLOCK_SSIZE_2, F90_INT_BLOCK_SSIZE, /* 44= CIF_F90_INT_BLOCK */ 00203 0, 0, F90_VECTORIZATION_SSIZE,F90_VECTORIZATION_SSIZE,/* 45= CIF_F90_VECTORIZATION */ 00204 0, 0, BENODE_SSIZE_2, BENODE_SSIZE, /* 46= CIF_BE_NODE */ 00205 0, 0, 0, 0, /* 47 */ 00206 0, FILEDIR_SSIZE, FILEDIR_SSIZE, FILEDIR_SSIZE, /* 48= CIF_FILEDIR */ 00207 0, UNITDIR_SSIZE, UNITDIR_SSIZE, UNITDIR_SSIZE, /* 49= CIF_UNITDIR */ 00208 0, 0, BEFID_SSIZE, BEFID_SSIZE, /* 50= CIF_BE_FID */ 00209 0, CTAG_SSIZE, CTAG_SSIZE, CTAG_SSIZE, /* 51= CIF_C_TAG */ 00210 0, COPTS_SSIZE, COPTS_SSIZE, COPTS_SSIZE, /* 52= CIF_C_OPTS */ 00211 0, CMESSAGE_SSIZE_1, CMESSAGE_SSIZE, CMESSAGE_SSIZE, /* 53= CIF_C_MESSAGE */ 00212 0, CCONST_SSIZE, CCONST_SSIZE, CCONST_SSIZE, /* 54= CIF_C_CONST */ 00213 0, CENTRY_SSIZE_1, CENTRY_SSIZE_2, CENTRY_SSIZE, /* 55= CIF_C_ENTRY */ 00214 0, COBJECT_SSIZE, COBJECT_SSIZE, COBJECT_SSIZE, /* 56= CIF_C_OBJECT */ 00215 0, 0, CLINT_DIRECTIVE_SSIZE, CLINT_DIRECTIVE_SSIZE, /* 57= CIF_C_LINT_DIRECTIVE */ 00216 0, 0, CMACRO_DEF_SSIZE, CMACRO_DEF_SSIZE, /* 58= CIF_C_MACRO_DEF */ 00217 0, 0, CMACRO_UNDEF_SSIZE, CMACRO_UNDEF_SSIZE, /* 59= CIF_C_MACRO_UNDEF */ 00218 0, 0, CMACRO_USAGE_SSIZE, CMACRO_USAGE_SSIZE, /* 60= CIF_C_MACRO_USAGE */ 00219 0, 0, CENTRY_END_SSIZE, CENTRY_END_SSIZE, /* 61= CIF_C_ENTRY_END */ 00220 0, 0, 0, 0, /* 62 */ 00221 0, 0, 0, 0, /* 63 */ 00222 0, 0, 0, 0, /* 64 */ 00223 0, 0, 0, 0, /* 65 */ 00224 0, 0, 0, 0, /* 66 */ 00225 0, 0, 0, 0, /* 67 */ 00226 0, 0, 0, 0, /* 68 */ 00227 0, 0, 0, 0, /* 69 */ 00228 0, 0, 0, ORIG_CMD_SSIZE, /* 70= CIF_ORIG_CMD */ 00229 0, 0, 0, 0, /* 71 */ 00230 0, 0, 0, 0, /* 72 */ 00231 0, 0, 0, 0, /* 73 */ 00232 0, 0, 0, 0, /* 74 */ 00233 0, 0, 0, 0, /* 75 */ 00234 0, 0, 0, 0, /* 76 */ 00235 0, 0, 0, 0, /* 77 */ 00236 0, 0, 0, 0, /* 78 */ 00237 0, 0, 0, 0, /* 79 */ 00238 0, 0, 0, CCTYPE_SSIZE, /* 80= CIF_CC_TYPE */ 00239 0, 0, 0, CCENTRY_SSIZE, /* 81= CIF_CC_ENTRY */ 00240 0, 0, 0, CCOBJ_SSIZE, /* 82= CIF_CC_OBJ */ 00241 0, 0, 0, CCSUBTYPE_SSIZE, /* 83= CIF_CC_SUBTYPE */ 00242 0, 0, 0, CCENUM_SSIZE, /* 84= CIF_CC_ENUM */ 00243 0, 0, 0, CCEXPR_SSIZE, /* 85= CIF_CC_EXPR */ 00244 0, 0, 0, SRC_POS_SSIZE /* 86= CIF_SRC_POS */ 00245 }; 00246 00247 /* 00248 * Mapping between compiler generated object data type values and 00249 * those that the library wants to return. ie a set that is consistent with 00250 * f77 as far as possible and non-overlapping when not. 00251 * 00252 * This remapping is done for CIF Version 2. However, this is not required 00253 * for CIF Version 3 because the newer cf90 2.0 compiler generates the 00254 * correct values from the start. 00255 * 00256 * NOTE: the following names are deprecated (per lrr) and no longer used: 00257 * CIF_F90_DT_SHORT_CHAR_CONST 00258 * CIF_F90_DT_SHORT_TYPELESS 00259 * CIF_F90_DT_LONG_TYPELESS 00260 */ 00261 const int _Cif_f90_to_f77_dtypes[] = { 00262 CIF_F90_DT_UNKNOWN, 00263 CIF_F90_DT_CHARACTER_1, 00264 CIF_F90_DT_TYPELESS, 00265 CIF_F90_DT_TYPELESS, 00266 CIF_F90_DT_INTEGER_1, 00267 CIF_F90_DT_INTEGER_2, 00268 CIF_F90_DT_INTEGER_4, 00269 CIF_F90_DT_INTEGER_6, 00270 CIF_F90_DT_INTEGER_8, 00271 CIF_F90_DT_REAL_4, 00272 CIF_F90_DT_REAL_8, 00273 CIF_F90_DT_REAL_16, 00274 CIF_F90_DT_COMPLEX_4, 00275 CIF_F90_DT_COMPLEX_8, 00276 CIF_F90_DT_COMPLEX_16, 00277 CIF_F90_DT_FPTR, 00278 CIF_F90_DT_LOGICAL_1, 00279 CIF_F90_DT_LOGICAL_2, 00280 CIF_F90_DT_LOGICAL_4, 00281 CIF_F90_DT_LOGICAL_8, 00282 CIF_F90_DT_CHARACTER_1, 00283 CIF_F90_DT_CHARACTER_2, 00284 CIF_F90_DT_CHARACTER_4, 00285 CIF_F90_DT_FCPTR 00286 }; 00287 00288 00289 /* -------------------------------------------------------------------------- 00290 * _Cif_space is an array of pointers to memory management functions. The 00291 * appropriate function is called based on memory management mode for the 00292 * CIF in question. 00293 * 00294 * The fancy declarations are need to cast away the function prototypes since 00295 * the different functions have different number of parameters. 00296 * -------------------------------------------------------------------------- 00297 */ 00298 00299 extern char * _Cif_fixed_space __((unsigned int, int)); 00300 extern char * _Cif_managed_space __((unsigned int, int)); 00301 char * (*_Cif_space[])() = { 00302 (char *(*)())0, 00303 (char *(*)())malloc, 00304 (char *(*)())_Cif_fixed_space, 00305 (char *(*)())_Cif_managed_space 00306 };