00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 static char USMID[] = "@(#) libcif/cifdata.c 30.8 07/26/96 07:19:13";
00038
00039
00040
00041
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
00059 const short _Cif_structsize[CIF_MAXRECORD][_CIF_INT_VERSION + 1] = {
00060
00061
00062
00063
00064
00065 0, 0, 0, 0,
00066 0, sizeof(struct Cif_callsite), sizeof(struct Cif_callsite), sizeof(struct Cif_callsite),
00067 0, sizeof(struct Cif_cifhdr), sizeof(struct Cif_cifhdr), sizeof(struct Cif_cifhdr),
00068 0, sizeof(struct Cif_comblk_1), sizeof(struct Cif_comblk), sizeof(struct Cif_comblk),
00069 0, sizeof(struct Cif_const), sizeof(struct Cif_const), sizeof(struct Cif_const),
00070 0, 0, sizeof(struct Cif_cdir), sizeof(struct Cif_cdir),
00071 0, sizeof(struct Cif_entry), sizeof(struct Cif_entry), sizeof(struct Cif_entry),
00072 0, sizeof(struct Cif_file_1), sizeof(struct Cif_file_1), sizeof(struct Cif_file),
00073 0, sizeof(struct Cif_loop), sizeof(struct Cif_loop), sizeof(struct Cif_loop),
00074 0, sizeof(struct Cif_include), sizeof(struct Cif_include), sizeof(struct Cif_include),
00075 0, sizeof(struct Cif_label), sizeof(struct Cif_label), sizeof(struct Cif_label),
00076 0, sizeof(struct Cif_message_1), sizeof(struct Cif_message_1), sizeof(struct Cif_message),
00077 0, sizeof(struct Cif_namelist), sizeof(struct Cif_namelist), sizeof(struct Cif_namelist),
00078 0, sizeof(struct Cif_object_1), sizeof(struct Cif_object), sizeof(struct Cif_object),
00079 0, sizeof(struct Cif_srcfile), sizeof(struct Cif_srcfile), sizeof(struct Cif_srcfile),
00080 0, sizeof(struct Cif_summary), sizeof(struct Cif_summary), sizeof(struct Cif_summary),
00081 0, 0, sizeof(struct Cif_cdir_doshared),sizeof(struct Cif_cdir_doshared),
00082 0, sizeof(struct Cif_unit), sizeof(struct Cif_unit), sizeof(struct Cif_unit),
00083 0, sizeof(struct Cif_endunit), sizeof(struct Cif_endunit), sizeof(struct Cif_endunit),
00084 0, sizeof(struct Cif_usage_1), sizeof(struct Cif_usage), sizeof(struct Cif_usage),
00085 0, sizeof(struct Cif_nd_msg), sizeof(struct Cif_nd_msg), sizeof(struct Cif_nd_msg),
00086 0, sizeof(struct Cif_edopts), sizeof(struct Cif_edopts), sizeof(struct Cif_edopts),
00087 0, sizeof(struct Cif_mach_char_1), sizeof(struct Cif_mach_char), sizeof(struct Cif_mach_char),
00088 0, sizeof(struct Cif_misc_opts_1), sizeof(struct Cif_misc_opts), sizeof(struct Cif_misc_opts),
00089 0, sizeof(struct Cif_opt_opts_1), sizeof(struct Cif_opt_opts), sizeof(struct Cif_opt_opts),
00090 0, sizeof(struct Cif_stmt_type), sizeof(struct Cif_stmt_type), sizeof(struct Cif_stmt_type),
00091 0, 0, sizeof(struct Cif_geometry), sizeof(struct Cif_geometry),
00092 0, 0, sizeof(struct Cif_continuation),sizeof(struct Cif_continuation),
00093 0, 0, sizeof(struct Cif_f90_callsite), sizeof(struct Cif_f90_callsite),
00094 0, 0, sizeof(struct Cif_f90_comblk), sizeof(struct Cif_f90_comblk),
00095 0, 0, sizeof(struct Cif_f90_const), sizeof(struct Cif_f90_const),
00096 0, 0, sizeof(struct Cif_f90_entry), sizeof(struct Cif_f90_entry),
00097 0, 0, sizeof(struct Cif_f90_loop), sizeof(struct Cif_f90_loop),
00098 0, 0, sizeof(struct Cif_f90_derived_type_2),sizeof(struct Cif_f90_derived_type),
00099 0, 0, sizeof(struct Cif_f90_label), sizeof(struct Cif_f90_label),
00100 0, 0, sizeof(struct Cif_f90_namelist), sizeof(struct Cif_f90_namelist),
00101 0, 0, sizeof(struct Cif_f90_object), sizeof(struct Cif_f90_object),
00102 0, 0, sizeof(struct Cif_f90_misc_opts), sizeof(struct Cif_f90_misc_opts),
00103 0, 0, sizeof(struct Cif_f90_opt_opts), sizeof(struct Cif_f90_opt_opts),
00104 0, 0, sizeof(struct Cif_f90_begin_scope), sizeof(struct Cif_f90_begin_scope),
00105 0, 0, sizeof(struct Cif_f90_end_scope), sizeof(struct Cif_f90_end_scope),
00106 0, 0, sizeof(struct Cif_f90_scope_info), sizeof(struct Cif_f90_scope_info),
00107 0, 0, sizeof(struct Cif_f90_use_module), sizeof(struct Cif_f90_use_module),
00108 0, 0, sizeof(struct Cif_f90_rename), sizeof(struct Cif_f90_rename),
00109 0, 0, sizeof(struct Cif_f90_int_block_2), sizeof(struct Cif_f90_int_block),
00110 0, 0, sizeof(struct Cif_f90_vectorization), sizeof(struct Cif_f90_vectorization),
00111 0, 0, sizeof(struct Cif_BE_node_2), sizeof(struct Cif_BE_node),
00112 0, 0, 0, 0,
00113 0, sizeof(struct Cif_filedir), sizeof(struct Cif_filedir), sizeof(struct Cif_filedir),
00114 0, sizeof(struct Cif_unitdir), sizeof(struct Cif_unitdir), sizeof(struct Cif_unitdir),
00115 0, 0, sizeof(struct Cif_BE_fid), sizeof(struct Cif_BE_fid),
00116 0, sizeof(struct Cif_c_tag), sizeof(struct Cif_c_tag), sizeof(struct Cif_c_tag),
00117 0, sizeof(struct Cif_c_opts), sizeof(struct Cif_c_opts), sizeof(struct Cif_c_opts),
00118 0, sizeof(struct Cif_c_message_1), sizeof(struct Cif_c_message), sizeof(struct Cif_c_message),
00119 0, sizeof(struct Cif_c_const), sizeof(struct Cif_c_const), sizeof(struct Cif_c_const),
00120 0, sizeof(struct Cif_c_entry_1), sizeof(struct Cif_c_entry), sizeof(struct Cif_c_entry),
00121 0, sizeof(struct Cif_c_object), sizeof(struct Cif_c_object), sizeof(struct Cif_c_object),
00122 0, 0, sizeof(struct Cif_c_lint_directive), sizeof(struct Cif_c_lint_directive),
00123 0, 0, sizeof(struct Cif_c_macro_def), sizeof(struct Cif_c_macro_def),
00124 0, 0, sizeof(struct Cif_c_macro_undef), sizeof(struct Cif_c_macro_undef),
00125 0, 0, sizeof(struct Cif_c_macro_usage), sizeof(struct Cif_c_macro_usage),
00126 0, 0, sizeof(struct Cif_c_entry_end), sizeof(struct Cif_c_entry_end),
00127 0, 0, 0, 0,
00128 0, 0, 0, 0,
00129 0, 0, 0, 0,
00130 0, 0, 0, 0,
00131 0, 0, 0, 0,
00132 0, 0, 0, 0,
00133 0, 0, 0, 0,
00134 0, 0, 0, 0,
00135 0, 0, 0, sizeof(struct Cif_src_pos),
00136 0, 0, 0, 0,
00137 0, 0, 0, 0,
00138 0, 0, 0, 0,
00139 0, 0, 0, 0,
00140 0, 0, 0, 0,
00141 0, 0, 0, 0,
00142 0, 0, 0, 0,
00143 0, 0, 0, 0,
00144 0, 0, 0, 0,
00145 0, 0, 0, sizeof(struct Cif_cc_type),
00146 0, 0, 0, sizeof(struct Cif_cc_entry),
00147 0, 0, 0, sizeof(struct Cif_cc_obj),
00148 0, 0, 0, sizeof(struct Cif_cc_subtype),
00149 0, 0, 0, sizeof(struct Cif_cc_enum),
00150 0, 0, 0, sizeof(struct Cif_cc_expr),
00151 0, 0, 0, sizeof(struct Cif_src_pos)
00152 };
00153
00154
00155 const short _Cif_shortsize[CIF_MAXRECORD][_CIF_INT_VERSION + 1] = {
00156
00157
00158 0, 0, 0, 0,
00159 0, CALLSITE_SSIZE, CALLSITE_SSIZE, CALLSITE_SSIZE,
00160 0, CIFHDR_SSIZE, CIFHDR_SSIZE, CIFHDR_SSIZE,
00161 0, COMBLK_SSIZE_1, COMBLK_SSIZE, COMBLK_SSIZE,
00162 0, CONST_SSIZE, CONST_SSIZE, CONST_SSIZE,
00163 0, 0, CDIR_SSIZE, CDIR_SSIZE,
00164 0, ENTRY_SSIZE, ENTRY_SSIZE, ENTRY_SSIZE,
00165 0, FILE_SSIZE_1, FILE_SSIZE_1, FILE_SSIZE,
00166 0, LOOP_SSIZE, LOOP_SSIZE, LOOP_SSIZE,
00167 0, INCLUDE_SSIZE, INCLUDE_SSIZE, INCLUDE_SSIZE,
00168 0, LABEL_SSIZE, LABEL_SSIZE, LABEL_SSIZE,
00169 0, MESSAGE_SSIZE_1, MESSAGE_SSIZE_1, MESSAGE_SSIZE,
00170 0, NAMELIST_SSIZE, NAMELIST_SSIZE, NAMELIST_SSIZE,
00171 0, OBJECT_SSIZE_1, OBJECT_SSIZE, OBJECT_SSIZE,
00172 0, SRCFILE_SSIZE, SRCFILE_SSIZE, SRCFILE_SSIZE,
00173 0, SUMMARY_SSIZE, SUMMARY_SSIZE, SUMMARY_SSIZE,
00174 0, 0, CDIR_DOSHARED_SSIZE, CDIR_DOSHARED_SSIZE,
00175 0, UNIT_SSIZE, UNIT_SSIZE, UNIT_SSIZE,
00176 0, ENDUNIT_SSIZE, ENDUNIT_SSIZE, ENDUNIT_SSIZE,
00177 0, USAGE_SSIZE_1, USAGE_SSIZE, USAGE_SSIZE,
00178 0, ND_MSG_SSIZE, ND_MSG_SSIZE, ND_MSG_SSIZE,
00179 0, EDOPTS_SSIZE, EDOPTS_SSIZE, EDOPTS_SSIZE,
00180 0, MACH_CHAR_SSIZE_1, MACH_CHAR_SSIZE, MACH_CHAR_SSIZE,
00181 0, MISC_OPTS_SSIZE_1, MISC_OPTS_SSIZE, MISC_OPTS_SSIZE,
00182 0, OPT_OPTS_SSIZE_1, OPT_OPTS_SSIZE, OPT_OPTS_SSIZE,
00183 0, STMT_TYPE_SSIZE, STMT_TYPE_SSIZE, STMT_TYPE_SSIZE,
00184 0, 0, GEOMETRY_SSIZE, GEOMETRY_SSIZE,
00185 0, 0, CONTINUATION_SSIZE, CONTINUATION_SSIZE,
00186 0, 0, F90_CALLSITE_SSIZE, F90_CALLSITE_SSIZE,
00187 0, 0, F90_COMBLK_SSIZE, F90_COMBLK_SSIZE,
00188 0, 0, F90_CONST_SSIZE, F90_CONST_SSIZE,
00189 0, 0, F90_ENTRY_SSIZE, F90_ENTRY_SSIZE,
00190 0, 0, F90_LOOP_SSIZE, F90_LOOP_SSIZE,
00191 0, 0, F90_DERIVED_TYPE_SSIZE_2, F90_DERIVED_TYPE_SSIZE,
00192 0, 0, F90_LABEL_SSIZE, F90_LABEL_SSIZE,
00193 0, 0, F90_NAMELIST_SSIZE, F90_NAMELIST_SSIZE,
00194 0, 0, F90_OBJECT_SSIZE, F90_OBJECT_SSIZE,
00195 0, 0, F90_MISC_OPTS_SSIZE, F90_MISC_OPTS_SSIZE,
00196 0, 0, F90_OPT_OPTS_SSIZE, F90_OPT_OPTS_SSIZE,
00197 0, 0, F90_BEGIN_SCOPE_SSIZE, F90_BEGIN_SCOPE_SSIZE,
00198 0, 0, F90_END_SCOPE_SSIZE, F90_END_SCOPE_SSIZE,
00199 0, 0, F90_SCOPE_INFO_SSIZE, F90_SCOPE_INFO_SSIZE,
00200 0, 0, F90_USE_MODULE_SSIZE, F90_USE_MODULE_SSIZE,
00201 0, 0, F90_RENAME_SSIZE, F90_RENAME_SSIZE,
00202 0, 0, F90_INT_BLOCK_SSIZE_2, F90_INT_BLOCK_SSIZE,
00203 0, 0, F90_VECTORIZATION_SSIZE,F90_VECTORIZATION_SSIZE,
00204 0, 0, BENODE_SSIZE_2, BENODE_SSIZE,
00205 0, 0, 0, 0,
00206 0, FILEDIR_SSIZE, FILEDIR_SSIZE, FILEDIR_SSIZE,
00207 0, UNITDIR_SSIZE, UNITDIR_SSIZE, UNITDIR_SSIZE,
00208 0, 0, BEFID_SSIZE, BEFID_SSIZE,
00209 0, CTAG_SSIZE, CTAG_SSIZE, CTAG_SSIZE,
00210 0, COPTS_SSIZE, COPTS_SSIZE, COPTS_SSIZE,
00211 0, CMESSAGE_SSIZE_1, CMESSAGE_SSIZE, CMESSAGE_SSIZE,
00212 0, CCONST_SSIZE, CCONST_SSIZE, CCONST_SSIZE,
00213 0, CENTRY_SSIZE_1, CENTRY_SSIZE_2, CENTRY_SSIZE,
00214 0, COBJECT_SSIZE, COBJECT_SSIZE, COBJECT_SSIZE,
00215 0, 0, CLINT_DIRECTIVE_SSIZE, CLINT_DIRECTIVE_SSIZE,
00216 0, 0, CMACRO_DEF_SSIZE, CMACRO_DEF_SSIZE,
00217 0, 0, CMACRO_UNDEF_SSIZE, CMACRO_UNDEF_SSIZE,
00218 0, 0, CMACRO_USAGE_SSIZE, CMACRO_USAGE_SSIZE,
00219 0, 0, CENTRY_END_SSIZE, CENTRY_END_SSIZE,
00220 0, 0, 0, 0,
00221 0, 0, 0, 0,
00222 0, 0, 0, 0,
00223 0, 0, 0, 0,
00224 0, 0, 0, 0,
00225 0, 0, 0, 0,
00226 0, 0, 0, 0,
00227 0, 0, 0, 0,
00228 0, 0, 0, ORIG_CMD_SSIZE,
00229 0, 0, 0, 0,
00230 0, 0, 0, 0,
00231 0, 0, 0, 0,
00232 0, 0, 0, 0,
00233 0, 0, 0, 0,
00234 0, 0, 0, 0,
00235 0, 0, 0, 0,
00236 0, 0, 0, 0,
00237 0, 0, 0, 0,
00238 0, 0, 0, CCTYPE_SSIZE,
00239 0, 0, 0, CCENTRY_SSIZE,
00240 0, 0, 0, CCOBJ_SSIZE,
00241 0, 0, 0, CCSUBTYPE_SSIZE,
00242 0, 0, 0, CCENUM_SSIZE,
00243 0, 0, 0, CCEXPR_SSIZE,
00244 0, 0, 0, SRC_POS_SSIZE
00245 };
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
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
00291
00292
00293
00294
00295
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 };