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
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076 #ifndef _CIF_H
00077 #define _CIF_H
00078
00079
00080 #ifndef CIF_VERSION
00081 # define CIF_VERSION 1
00082 #endif
00083
00084
00085 #define _CIF_INT_VERSION 3
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095 #define CIF_SUB_VERSION_2 3
00096 #define CIF_SUB_VERSION_3 1
00097
00098
00099
00100
00101
00102
00103 #if defined(__STDC__) && CIF_VERSION > _CIF_INT_VERSION || CIF_VERSION < 1
00104 #error "Please define CIF_VERSION correctly. If in doubt, use CIF_VERSION 1"
00105 #endif
00106
00107
00108
00109
00110
00111 #ifdef __
00112 # undef __
00113 #endif
00114
00115 #if defined(__STDC__) || defined(__cplusplus)
00116 # define __(_A) _A
00117 #else
00118 # define __(_A) ()
00119 #endif
00120
00121 #if defined(__cplusplus)
00122 # define CIF_BEGIN_DECLS extern "C" {
00123 # define CIF_END_DECLS };
00124 #else
00125 # define CIF_BEGIN_DECLS
00126 # define CIF_END_DECLS
00127 #endif
00128
00129 extern int Cif_Open __((char *, char *, int *, int));
00130
00131
00132
00133
00134
00135
00136
00137
00138 #if CIF_VERSION == 1
00139 # define Cif_Open Cif_Open_V1
00140 #endif
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161 #if CIF_VERSION == 2
00162 # define Cif_Open(A,B,C,D) \
00163 Cif_Open_V2_1((A), (B), (C), (D), CIF_SUB_VERSION_2)
00164 # define Cif_Lines(A,B,C,D, E) \
00165 Cif_Lines_V2_1((A), (B), (C), (D), (E), CIF_SUB_VERSION_2)
00166 # define Cif_Cifconv(A,B,C,D, E) \
00167 Cif_Cifconv_V2_1((A), (B), (C), (D), (E), CIF_SUB_VERSION_2)
00168 #endif
00169
00170 #if CIF_VERSION == 3
00171 # define Cif_Open(A,B,C,D) \
00172 Cif_Open_V3_1((A), (B), (C), (D), CIF_SUB_VERSION_3)
00173 # define Cif_Lines(A,B,C,D, E) \
00174 Cif_Lines_V3_1((A), (B), (C), (D), (E), CIF_SUB_VERSION_3)
00175 # define Cif_Cifconv(A,B,C,D, E) \
00176 Cif_Cifconv_V3_1((A), (B), (C), (D), (E), CIF_SUB_VERSION_3)
00177 #endif
00178
00179
00180 #ifndef FIELD
00181
00182 #ifdef AIXV3
00183 #define FIELD unsigned int
00184 #else
00185 #define FIELD unsigned int
00186 #endif
00187 #endif
00188
00189
00190 #define CIF_CALLSITE 1
00191 #define CIF_CIFHDR 2
00192 #define CIF_COMBLK 3
00193 #define CIF_CONST 4
00194
00195 #if CIF_VERSION != 1
00196 #define CIF_CDIR 5
00197 #endif
00198
00199 #define CIF_ENTRY 6
00200 #define CIF_FILE 7
00201 #define CIF_LOOP 8
00202 #define CIF_INCLUDE 9
00203 #define CIF_LABEL 10
00204 #define CIF_MESSAGE 11
00205 #define CIF_NAMELIST 12
00206 #define CIF_OBJECT 13
00207 #define CIF_SRCFILE 14
00208 #define CIF_SUMMARY 15
00209
00210 #if CIF_VERSION != 1
00211 #define CIF_CDIR_DOSHARED 16
00212 #endif
00213
00214 #define CIF_UNIT 17
00215 #define CIF_ENDUNIT 18
00216 #define CIF_USAGE 19
00217 #define CIF_ND_MSG 20
00218 #define CIF_EDOPTS 21
00219 #define CIF_MACH_CHAR 22
00220 #define CIF_MISC_OPTS 23
00221 #define CIF_OPT_OPTS 24
00222 #define CIF_STMT_TYPE 25
00223
00224 #if CIF_VERSION != 1
00225 #define CIF_GEOMETRY 26
00226 #define CIF_CONTINUATION 27
00227 #endif
00228
00229 #if CIF_VERSION != 1
00230 #define CIF_F90_CALLSITE 28
00231 #define CIF_F90_COMBLK 29
00232 #define CIF_F90_CONST 30
00233 #define CIF_F90_ENTRY 31
00234 #define CIF_F90_LOOP 32
00235 #define CIF_F90_DERIVED_TYPE 33
00236 #define CIF_F90_LABEL 34
00237 #define CIF_F90_NAMELIST 35
00238 #define CIF_F90_OBJECT 36
00239 #define CIF_F90_MISC_OPTS 37
00240 #define CIF_F90_OPT_OPTS 38
00241 #define CIF_F90_BEGIN_SCOPE 39
00242 #define CIF_F90_END_SCOPE 40
00243 #define CIF_F90_SCOPE_INFO 41
00244 #define CIF_F90_USE_MODULE 42
00245 #define CIF_F90_RENAME 43
00246 #define CIF_F90_INT_BLOCK 44
00247 #define CIF_F90_VECTORIZATION 45
00248
00249 #define CIF_BE_NODE 46
00250
00251 #if CIF_VERSION >= 2
00252 #define CIF_BE_FID 50
00253 #endif
00254
00255 #define CIF_TRANSFORM 47
00256
00257 #endif
00258
00259 #define CIF_FILEDIR 48
00260 #define CIF_UNITDIR 49
00261 #define CIF_C_TAG 51
00262 #define CIF_C_OPTS 52
00263 #define CIF_C_MESSAGE 53
00264 #define CIF_C_CONST 54
00265 #define CIF_C_ENTRY 55
00266 #define CIF_C_OBJECT 56
00267 #if CIF_VERSION == 1
00268 #define CIF_MAXRECORD 57
00269 #else
00270 #define CIF_C_LINT_DIRECTIVE 57
00271 #define CIF_C_MACRO_DEF 58
00272 #define CIF_C_MACRO_UNDEF 59
00273 #define CIF_C_MACRO_USAGE 60
00274 #define CIF_C_ENTRY_END 61
00275
00276 #if CIF_VERSION == 3
00277
00278 #define CIF_ORIG_CMD 70
00279
00280 #define CIF_CC_TYPE 80
00281 #define CIF_CC_ENTRY 81
00282 #define CIF_CC_OBJ 82
00283 #define CIF_CC_SUBTYPE 83
00284 #define CIF_CC_ENUM 84
00285 #define CIF_CC_EXPR 85
00286
00287 #define CIF_SRC_POS 86
00288
00289 #define CIF_MAXRECORD 100
00290 #define CIF_MAXRECORD_1 57
00291 #define CIF_MAXRECORD_2 62
00292
00293 #else
00294
00295 #define CIF_MAXRECORD 62
00296 #define CIF_MAXRECORD_1 57
00297
00298 #endif
00299
00300 #endif
00301
00302
00303 #define CIF_BTC_TYPELESS 0x00
00304 #define CIF_BTC_SBITFLD 0x01
00305 #define CIF_BTC_UBITFLD 0x02
00306 #define CIF_BTC_SCHAR 0x03
00307 #define CIF_BTC_UCHAR 0x04
00308 #define CIF_BTC_SSHORT 0x05
00309 #define CIF_BTC_USHORT 0x06
00310 #define CIF_BTC_SINT 0x07
00311 #define CIF_BTC_UINT 0x08
00312 #define CIF_BTC_SLONG 0x09
00313 #define CIF_BTC_ULONG 0x0a
00314 #define CIF_BTC_FLOAT 0x0b
00315 #define CIF_BTC_DOUBLE 0x0c
00316 #define CIF_BTC_LDOUBLE 0x0d
00317 #define CIF_BTC_FCOMPLX 0x0e
00318 #define CIF_BTC_DCOMPLX 0x0f
00319 #define CIF_BTC_LDCOMPLX 0x10
00320 #define CIF_BTC_VOID 0x11
00321 #define CIF_BTC_STRUCT 0x12
00322 #define CIF_BTC_UNION 0x13
00323 #define CIF_BTC_ENUM 0x14
00324 #define CIF_BTC_UNKNOWN 0xff
00325 #define CIF_BTC_MAX 32
00326
00327
00328 #define CIF_CCT_INT 1
00329 #define CIF_CCT_FLOAT 2
00330 #define CIF_CCT_COMPLEX 3
00331 #define CIF_CCT_VOID 4
00332 #define CIF_CCT_CLASS 5
00333 #define CIF_CCT_STRUCT 6
00334 #define CIF_CCT_UNION 7
00335 #define CIF_CCT_TYPEDEF 8
00336 #define CIF_CCT_QUALIFIED 9
00337 #define CIF_CCT_ENUM 10
00338 #define CIF_CCT_FUNCTION 11
00339 #define CIF_CCT_POINTER 12
00340 #define CIF_CCT_ARRAY 13
00341 #define CIF_CCT_PTRMEM 14
00342 #define CIF_CCT_TEMPAR 15
00343
00344
00345
00346 #define CIF_CB_REG 0
00347 #define CIF_CB_TASK 1
00348 #define CIF_CB_LOCAL 2
00349 #define CIF_CB_AUX 3
00350 #define CIF_CB_THREAD_PRIVATE 4
00351 #define CIF_CB_MAX 5
00352
00353
00354 #define CIF_DM_CONSTANT 0
00355 #define CIF_DM_EXPR 1
00356 #define CIF_DM_ASSUMED 2
00357 #define CIF_DM_MAX 3
00358
00359
00360 #define CIF_DT_UNKNOWN 0
00361 #define CIF_DT_TYPELESS 1
00362 #define CIF_DT_INT32 2
00363 #define CIF_DT_INT46 3
00364 #define CIF_DT_INT64 4
00365 #define CIF_DT_REAL 5
00366 #define CIF_DT_DOUBLE 6
00367 #define CIF_DT_FCHAR 7
00368 #define CIF_DT_COMPLEX 8
00369 #define CIF_DT_DBLE_CMPLX 9
00370 #define CIF_DT_FPTR 10
00371 #define CIF_DT_LOGICAL 11
00372 #define CIF_DT_FCPTR 12
00373 #define CIF_DT_DERIVED 13
00374 #define CIF_DT_MAX 14
00375
00376
00377 #if CIF_VERSION != 1
00378
00379
00380
00381
00382
00383
00384
00385
00386
00387
00388
00389
00390
00391 #define CIF_F90_DT_UNKNOWN 0
00392 #define CIF_F90_DT_FPTR 10
00393 #define CIF_F90_DT_FCPTR 12
00394
00395 #if CIF_VERSION == 2
00396 #define CIF_F90_DT_SHORT_CHAR_CONST 21
00397 #define CIF_F90_DT_SHORT_TYPELESS 22
00398 #define CIF_F90_DT_LONG_TYPELESS 23
00399 #endif
00400
00401 #define CIF_F90_DT_TYPELESS 22
00402
00403 #define CIF_F90_DT_INTEGER_1 24
00404 #define CIF_F90_DT_INTEGER_2 25
00405 #define CIF_F90_DT_INTEGER_4 26
00406 #define CIF_F90_DT_INTEGER_6 27
00407 #define CIF_F90_DT_INTEGER_8 28
00408 #define CIF_F90_DT_REAL_4 29
00409 #define CIF_F90_DT_REAL_8 30
00410 #define CIF_F90_DT_REAL_16 31
00411 #define CIF_F90_DT_COMPLEX_4 32
00412 #define CIF_F90_DT_COMPLEX_8 33
00413 #define CIF_F90_DT_COMPLEX_16 34
00414 #define CIF_F90_DT_LOGICAL_1 36
00415 #define CIF_F90_DT_LOGICAL_2 37
00416 #define CIF_F90_DT_LOGICAL_4 38
00417 #define CIF_F90_DT_LOGICAL_8 39
00418 #define CIF_F90_DT_CHARACTER_1 40
00419 #define CIF_F90_DT_CHARACTER_2 41
00420 #define CIF_F90_DT_CHARACTER_4 42
00421 #define CIF_F90_DT_MAX 43
00422
00423 #endif
00424
00425
00426
00427
00428 #define CIF_EDF_OPTa 0x00000001
00429 #define CIF_EDF_OPTc 0x00000002
00430 #define CIF_EDF_OPTd 0x00000004
00431 #define CIF_EDF_OPTf 0x00000008
00432 #define CIF_EDF_OPTg 0x00000010
00433 #define CIF_EDF_OPTh 0x00000020
00434 #define CIF_EDF_OPTi 0x00000040
00435 #define CIF_EDF_OPTj 0x00000080
00436 #define CIF_EDF_OPTm 0x00000100
00437 #define CIF_EDF_OPTn 0x00000200
00438 #define CIF_EDF_OPTo 0x00000400
00439 #define CIF_EDF_OPTp 0x00000800
00440 #define CIF_EDF_OPTq 0x00001000
00441 #define CIF_EDF_OPTr 0x00002000
00442 #define CIF_EDF_OPTs 0x00004000
00443 #define CIF_EDF_OPTu 0x00008000
00444 #define CIF_EDF_OPTv 0x00010000
00445 #define CIF_EDF_OPTw 0x00020000
00446 #define CIF_EDF_OPTx 0x00040000
00447 #define CIF_EDF_OPTz 0x00080000
00448 #define CIF_EDF_OPTB 0x00100000
00449 #define CIF_EDF_OPTP 0x00200000
00450 #define CIF_EDF_OPTS 0x00400000
00451
00452 #if CIF_VERSION != 1
00453 #define CIF_EDF_OPTt 0x00800000
00454 #endif
00455
00456
00457 #if CIF_VERSION != 1
00458
00459
00460 #define CIF_F90_EDF_OPTa 0x00000001
00461 #define CIF_F90_EDF_OPTd 0x00000002
00462 #define CIF_F90_EDF_OPTf 0x00000004
00463 #define CIF_F90_EDF_OPTi 0x00000008
00464 #define CIF_F90_EDF_OPTj 0x00000010
00465 #define CIF_F90_EDF_OPTn 0x00000020
00466 #define CIF_F90_EDF_OPTp 0x00000040
00467 #define CIF_F90_EDF_OPTq 0x00000080
00468 #define CIF_F90_EDF_OPTr 0x00000100
00469 #define CIF_F90_EDF_OPTt 0x00020000
00470 #define CIF_F90_EDF_OPTu 0x00000200
00471 #define CIF_F90_EDF_OPTv 0x00000400
00472 #define CIF_F90_EDF_OPTz 0x00000800
00473 #define CIF_F90_EDF_OPTB 0x00001000
00474 #define CIF_F90_EDF_OPTP 0x00002000
00475 #define CIF_F90_EDF_OPTS 0x00004000
00476 #define CIF_F90_EDF_OPTA 0x00008000
00477 #define CIF_F90_EDF_OPTX 0x00010000
00478
00479
00480
00481 #define CIF_DN_NA 0
00482 #define CIF_DN_PE_PRIVATE 1
00483 #define CIF_DN_SHARED_CAN 2
00484 #define CIF_DN_SHARED_DIM 3
00485 #define CIF_DN_UNKNOWN 4
00486 #define CIF_DN_UNKNOWN_SHARED 5
00487
00488
00489 #define CIF_CD_MASTER 0
00490 #define CIF_CD_END_MASTER 1
00491 #define CIF_CD_BARRIER 2
00492 #define CIF_CD_NO_BARRIER 3
00493 #define CIF_CD_CRITICAL 4
00494 #define CIF_CD_END_CRITICAL 5
00495 #define CIF_CD_SHARED_IO 6
00496 #define CIF_CD_ATOMIC_UPDATE 7
00497 #define CIF_CD_LIST 8
00498 #define CIF_CD_NOLIST 9
00499 #define CIF_CD_EJECT 10
00500
00501
00502 #define CIF_DO_ALIGNED 0
00503 #define CIF_DO_UNIFORM 1
00504 #define CIF_DO_CHUNKSIZE 2
00505 #define CIF_DO_NUMCHUNKS 3
00506 #define CIF_DO_GUIDED 4
00507
00508 #endif
00509
00510
00511
00512 #define CIF_ENC_OBJECT 0
00513 #define CIF_ENC_FORMARG 2
00514 #define CIF_ENC_TYPEDEF 3
00515 #define CIF_ENC_ENUMMEM 4
00516
00517 #if CIF_VERSION == 1
00518
00519 #define CIF_ENC_TAG 10
00520 #define CIF_ENC_MEMBER 11
00521 #define CIF_ENC_STRLIT 12
00522 #define CIF_ENC_MAX 13
00523
00524 #else
00525
00526 #define CIF_ENC_TAG 9
00527 #define CIF_ENC_MEMBER 10
00528 #define CIF_ENC_STRLIT 11
00529 #define CIF_ENC_MAX 12
00530
00531 #endif
00532
00533
00534 #define CIF_ET_ALT_ENTRY 1
00535 #define CIF_ET_BLOCKDATA 2
00536 #define CIF_ET_FUNCTION 3
00537 #define CIF_ET_PROGRAM 4
00538 #define CIF_ET_SUBROUTINE 5
00539 #define CIF_ET_UNKNOWN 6
00540 #define CIF_ET_MAX 7
00541
00542 #if CIF_VERSION != 1
00543
00544 #define CIF_F90_ET_ERROR 0
00545 #define CIF_F90_ET_ALT_ENTRY 1
00546 #define CIF_F90_ET_BLOCKDATA 2
00547 #define CIF_F90_ET_FUNCTION 3
00548 #define CIF_F90_ET_PROGRAM 4
00549 #define CIF_F90_ET_SUBROUTINE 5
00550 #define CIF_F90_ET_UNKNOWN 6
00551 #define CIF_F90_ET_MODULE 7
00552 #define CIF_F90_ET_STMT 8
00553 #define CIF_F90_ET_MAX 9
00554
00555
00556
00557 #define CIF_F90_PT_UNKNOWN 0
00558 #define CIF_F90_PT_EXTERNAL 1
00559 #define CIF_F90_PT_INTRINSIC 2
00560 #define CIF_F90_PT_DUMMY 3
00561 #define CIF_F90_PT_INTERNAL 4
00562 #define CIF_F90_PT_IMPORTED 5
00563 #define CIF_F90_PT_MODULE 6
00564 #define CIF_F90_PT_MAX 7
00565
00566
00567
00568 #define CIF_AT_EXPLICIT 1
00569 #define CIF_AT_ASSUMED_SIZE 2
00570 #define CIF_AT_DEFERRED 3
00571 #define CIF_AT_ASSUMED 4
00572
00573 #endif
00574
00575
00576
00577 #define CIF_FORM_RANDOM 0
00578 #define CIF_FORM_SORTED 1
00579
00580
00581 #define CIF_FORM_CIFCONV 0
00582 #define CIF_FORM_LINES 1
00583 #define CIF_FORM_USER 2
00584
00585
00586
00587 #define CIF_ID_NONCONTIG 0
00588 #define CIF_ID_CONTIGUOUS 1
00589
00590
00591 #define CIF_LB_FORMAT 1
00592 #define CIF_LB_STMT 2
00593 #define CIF_LB_UNKNOWN 3
00594 #define CIF_LB_CONSTRUCT 4
00595 #define CIF_LB_MAX 5
00596
00597
00598 #define CIF_LG_F77 0
00599 #define CIF_LG_F90 1
00600 #define CIF_LG_C 2
00601
00602 #if CIF_VERSION < 3
00603 #define CIF_LG_MAX 3
00604
00605 #else
00606
00607 #define CIF_LG_CC 3
00608 #define CIF_LG_MAX 4
00609 #endif
00610
00611
00612 #define CIF_LP_DO 0
00613 #define CIF_LP_DOWHILE 1
00614 #define CIF_LP_WHILE 2
00615 #define CIF_LP_FOR 3
00616 #define CIF_LP_DO_INFINITE 4
00617 #define CIF_LP_MAX 5
00618
00619
00620 #define CIF_MEM_DEFAULT 0
00621 #define CIF_MEM_INDIV 1
00622 #define CIF_MEM_FIXED 2
00623 #define CIF_MEM_MANAGED 3
00624 #define CIF_MEM_MAX 4
00625
00626 #define CIF_MEM_KEEP 0
00627 #define CIF_MEM_FREE 1
00628
00629
00630
00631 #define CIF_F90_FORM_FIXED 0
00632 #define CIF_F90_FORM_FREE 1
00633
00634
00635 #define CIF_MC_VPOP 0x0001
00636 #define CIF_MC_EMA 0x0002
00637 #define CIF_MC_CIGS 0x0004
00638 #define CIF_MC_PCF 0x0008
00639 #define CIF_MC_READVL 0x0010
00640 #define CIF_MC_VRECUR 0x0020
00641 #define CIF_MC_NOVRECUR 0x0040
00642 #define CIF_MC_AVL 0x0080
00643 #define CIF_MC_HPF 0x0100
00644 #define CIF_MC_BDM 0x0200
00645 #define CIF_MC_SREG 0x0400
00646 #define CIF_MC_CLUSTER 0x0800
00647 #define CIF_MC_COR 0x1000
00648 #define CIF_MC_ADDR32 0x2000
00649 #define CIF_MC_BMM 0x4000
00650 #define CIF_MC_XEA 0x8000
00651
00652 #define CIF_MC_AVPOP 0x10000
00653 #define CIF_MC_FULLSECT 0x20000
00654 #define CIF_MC_IEEE 0x40000
00655 #define CIF_MC_CMRREQ 0x80000
00656 #define CIF_MC_CACHE 0x100000
00657
00658 #if CIF_VERSION == 1
00659
00660 #define CIF_MC_TAILGT 0x0001
00661 #define CIF_MC_SHAREDREG 0x0002
00662 #define CIF_MC_MEMQUIET 0x0004
00663
00664 #else
00665
00666 #define CIF_MC_TAILGT_1 0x0001
00667
00668 #define CIF_MC_FAR 0x0001
00669 #define CIF_MC_TAILGT 0x0002
00670 #define CIF_MC_CMR 0x0004
00671
00672
00673
00674 #define CIF_MC_MASK (~(CIF_MC_PCF & \
00675 CIF_MC_NOVRECUR & \
00676 CIF_MC_HPF & \
00677 CIF_MC_SREG & \
00678 CIF_MC_CLUSTER & \
00679 CIF_MC_COR & \
00680 CIF_MC_ADDR32 & \
00681 CIF_MC_BMM))
00682
00683 #endif
00684
00685
00686 #define CIF_MISCF_STACK 0
00687 #define CIF_MISCF_STATIC 1
00688 #define CIF_MISCF_HEAP 2
00689
00690 #define CIF_MISCF_INT64 0
00691 #define CIF_MISCF_INT46 1
00692
00693 #define CIF_MISCF_UNKNOWN 0
00694 #define CIF_MISCF_FAST 1
00695 #define CIF_MISCF_FULL 2
00696 #define CIF_MISCF_SREG 3
00697
00698
00699 #define CIF_MS_COMMENT 0
00700 #define CIF_MS_NOTE 1
00701 #define CIF_MS_CAUTION 2
00702 #define CIF_MS_WARNING 3
00703 #define CIF_MS_ERROR 4
00704 #define CIF_MS_INTERNAL 5
00705 #define CIF_MS_VECTOR 6
00706 #define CIF_MS_SCALAR 7
00707 #define CIF_MS_TABLE 8
00708 #define CIF_MS_ANSI 9
00709 #define CIF_MS_LOGFILE 10
00710 #define CIF_MS_INLINE 11
00711 #define CIF_MS_INFO 12
00712 #define CIF_MS_TASKING 13
00713 #define CIF_MS_LIMIT 14
00714 #define CIF_MS_LOGERROR 15
00715 #define CIF_MS_LOGSUM 16
00716 #define CIF_MS_F77_ANSI 17
00717 #define CIF_MS_OPTIMIZATION 18
00718 #define CIF_MS_UNKNOWN 19
00719 #define CIF_MS_MAX 20
00720
00721 #if CIF_VERSION != 1
00722
00723 #define CIF_MS_CODE_NORMAL 0
00724 #define CIF_MS_CODE_ARGSUSED 1
00725 #define CIF_MS_CODE_EMPTY 2
00726 #define CIF_MS_CODE_FALLTHROUGH 3
00727 #define CIF_MS_CODE_NOTREACHED 4
00728 #endif
00729
00730
00731
00732 #define CIF_F_MS_COMMENT 0
00733 #define CIF_F_MS_NOTE 1
00734 #define CIF_F_MS_CAUTION 2
00735 #define CIF_F_MS_WARNING 3
00736 #define CIF_F_MS_ERROR 4
00737 #define CIF_F_MS_INTERNAL 5
00738 #define CIF_F_MS_VECTOR 6
00739 #define CIF_F_MS_SCALAR 7
00740 #define CIF_F_MS_OPT_INFO 7
00741 #define CIF_F_MS_TABLE 8
00742 #define CIF_F_MS_ANSI 9
00743 #define CIF_F_MS_LOGFILE 10
00744 #define CIF_F_MS_INLINE 11
00745 #define CIF_F_MS_INFO 12
00746 #define CIF_F_MS_TASKING 13
00747 #define CIF_F_MS_LIMIT 14
00748 #define CIF_F_MS_LOGERROR 15
00749 #define CIF_F_MS_LOGSUM 16
00750 #define CIF_F_MS_F77_ANSI 17
00751 #define CIF_F_MS_OPTIMIZATION 18
00752 #define CIF_F_MS_UNKNOWN 19
00753 #define CIF_F_MS_MAX 20
00754
00755
00756 #define CIF_OBC_DEFINED 0x001
00757 #define CIF_OBC_DECLARED 0x002
00758 #define CIF_OBC_REFERENCED 0x004
00759 #define CIF_OBC_MODIFIED 0x008
00760 #define CIF_OBC_ADDRESS 0x010
00761 #define CIF_OBC_ARGLIST 0x020
00762 #define CIF_OBC_USEDDECL 0x040
00763 #define CIF_OBC_USEDCAST 0x080
00764 #define CIF_OBC_USEDFUNC 0x100
00765 #define CIF_OBC_MACROEXP 0x200
00766 #define CIF_OBC_MAX 9
00767
00768
00769 #define CIF_OB_DEFINED 0
00770 #define CIF_OB_USED 1
00771 #define CIF_OB_MODIFIED 2
00772 #define CIF_OB_ARGLIST 3
00773 #define CIF_OB_ASSIGN 4
00774 #define CIF_OB_BRANCH 5
00775 #define CIF_OB_FORMAT 6
00776 #define CIF_OB_DO 7
00777 #define CIF_OB_TYPEDEF 8
00778 #define CIF_OB_TYPEUSED 9
00779 #define CIF_OB_MAX 10
00780
00781 #if CIF_VERSION != 1
00782
00783
00784 #define CIF_F90_OB_DEFINED 0
00785 #define CIF_F90_OB_USED 1
00786 #define CIF_F90_OB_MODIFIED 2
00787 #define CIF_F90_OB_ARGLIST 3
00788 #define CIF_F90_OB_ASSIGN 4
00789 #define CIF_F90_OB_BRANCH 5
00790 #define CIF_F90_OB_FORMAT 6
00791 #define CIF_F90_OB_DO 7
00792 #define CIF_F90_OB_TYPEDEF 8
00793 #define CIF_F90_OB_TYPEUSED 9
00794 #define CIF_F90_OB_NAME 10
00795 #define CIF_F90_OB_DUMMY 11
00796 #define CIF_F90_OB_OPER_ARG 12
00797
00798 #define CIF_F90_OB_IND_MOD 13
00799
00800 #define CIF_F90_OB_MODIFIED_ASN 14
00801
00802
00803 #define CIF_F90_OB_MAX 15
00804
00805
00806
00807 #define CIF_RT_C 0x0001
00808 #define CIF_RT_E 0x0002
00809 #define CIF_RT_a 0x0004
00810 #define CIF_RT_b 0x0008
00811 #define CIF_RT_c 0x0010
00812
00813
00814 #define CIF_CO_A 0x0001
00815 #define CIF_CO_C 0x0002
00816 #define CIF_CO_F 0x0004
00817 #define CIF_CO_I 0x0008
00818 #define CIF_CO_M 0x0010
00819 #define CIF_CO_O 0x0020
00820 #define CIF_CO_S 0x0040
00821 #define CIF_CO_X 0x0080
00822
00823 #endif
00824
00825
00826 #define CIF_OOF_AGGRESS 0x00000001
00827 #define CIF_OOF_BLOAD 0x00000002
00828 #define CIF_OOF_INLINE 0x00000004
00829 #define CIF_OOF_LOOPALIGN 0x00000008
00830 #define CIF_OOF_RECURRENCE 0x00000010
00831 #define CIF_OOF_RECURSIVE 0x00000020
00832 #define CIF_OOF_SCALAR 0x00000040
00833 #define CIF_OOF_VECTOR 0x00000080
00834 #define CIF_OOF_VSEARCH 0x00000100
00835 #define CIF_OOF_ZEROINC 0x00000200
00836 #define CIF_OOF_KERNSCHED 0x00000400
00837 #if CIF_VERSION != 1
00838 #define CIF_OOF_TASK 0x00000800
00839 #define CIF_OOF_GENERAL 0x00001000
00840 #define CIF_OOF_OVERINDEX 0x00002000
00841 #define CIF_OOF_PATTERN 0x00004000
00842 #endif
00843
00844
00845
00846 #define CIF_SC_COMMON 1
00847 #define CIF_SC_EXPR 2
00848 #define CIF_SC_UNKNOWN 3
00849 #define CIF_SC_VARIABLE 4
00850 #define CIF_SC_FIELD 5
00851 #define CIF_SC_EQUIV 6
00852 #define CIF_SC_MAX 7
00853
00854 #if CIF_VERSION != 1
00855
00856
00857
00858
00859
00860
00861
00862
00863 #define CIF_F90_SC_ERROR 0
00864 #define CIF_F90_SC_COMMON 1
00865 #define CIF_F90_SC_EXPR 2
00866 #define CIF_F90_SC_UNKNOWN 3
00867 #define CIF_F90_SC_VARIABLE 4
00868 #define CIF_F90_SC_STRUCT 5
00869 #define CIF_F90_SC_EQUIV 6
00870 #define CIF_F90_SC_MODULE 7
00871 #define CIF_F90_SC_NAMED_CONST 8
00872 #define CIF_F90_SC_FUNC_RESULT 9
00873 #define CIF_F90_SC_MX 10
00874
00875 #endif
00876
00877
00878 #define CIF_SCC_EXTERN 0
00879 #define CIF_SCC_STATIC 1
00880 #define CIF_SCC_AUTO 2
00881 #define CIF_SCC_REGISTER 3
00882 #define CIF_SCC_FORTRAN 4
00883 #define CIF_SCC_STRMEM 6
00884 #define CIF_SCC_UNMEM 7
00885 #define CIF_SCC_ENUMMEM 8
00886 #define CIF_SCC_STRBITFLD 12
00887 #define CIF_SCC_UNBITFLD 13
00888 #define CIF_SCC_USRLAB 14
00889 #define CIF_SCC_GLBREG 16
00890 #define CIF_SCC_GLTREG 17
00891 #define CIF_SCC_EXTLM 18
00892 #define CIF_SCC_MAX 19
00893
00894
00895
00896 #define CIF_ST_AUXILIARY 1
00897 #define CIF_ST_BASED 2
00898 #define CIF_ST_DUMARG 3
00899 #define CIF_ST_POINTEE 4
00900 #define CIF_ST_STACK 5
00901 #define CIF_ST_STATIC 6
00902 #define CIF_ST_UNKNOWN 7
00903 #if CIF_VERSION == 1
00904 #define CIF_ST_MAX 8
00905 #else
00906 #define CIF_ST_BSS 6
00907 #define CIF_ST_DATA 8
00908 #define CIF_ST_MAX 9
00909 #endif
00910
00911 #if CIF_VERSION != 1
00912
00913
00914 #define CIF_F90_ST_ERROR 0
00915 #define CIF_F90_ST_AUXILIARY 1
00916 #define CIF_F90_ST_BASED 2
00917 #define CIF_F90_ST_DUMMY 3
00918 #define CIF_F90_ST_POINTEE 4
00919 #define CIF_F90_ST_STACK 5
00920 #define CIF_F90_ST_STATIC 6
00921 #define CIF_F90_ST_BSS 6
00922 #define CIF_F90_ST_NO_STORAGE 7
00923 #define CIF_F90_ST_DATA 8
00924 #define CIF_F90_ST_COMMON 9
00925 #define CIF_F90_ST_MAX 10
00926
00927
00928 #define CIF_CC_ST_ERROR 0
00929 #define CIF_CC_ST_STATIC 1
00930 #define CIF_CC_ST_AUTO 2
00931 #define CIF_CC_ST_REGISTER 3
00932 #define CIF_CC_ST_GLB_B_REG 4
00933 #define CIF_CC_ST_GLB_T_REG 5
00934 #define CIF_CC_ST_TSK_COMMON 6
00935 #define CIF_CC_ST_SOFT 7
00936 #define CIF_CC_ST_TSK_PRIVATE 8
00937
00938
00939 #define CIF_CC_SC_ERROR 0
00940 #define CIF_CC_SC_VARIABLE 1
00941 #define CIF_CC_SC_FORMAL_PARAM 2
00942 #define CIF_CC_SC_MEMBER_VAR 3
00943
00944
00945
00946 #endif
00947
00948
00949 #define CIF_TMC_UNUSED 0x0
00950 #define CIF_TMC_ARRAY 0x1
00951 #define CIF_TMC_FUNCNOPR 0x2
00952 #define CIF_TMC_FUNCPRO 0x3
00953 #define CIF_TMC_PTR 0x8
00954 #define CIF_TMC_CONPTR 0x9
00955 #define CIF_TMC_VOLPTR 0xa
00956 #define CIF_TMC_CNVLPTR 0xb
00957 #define CIF_TMC_RESPTR 0xc
00958 #define CIF_TMC_RSCNPTR 0xd
00959 #define CIF_TMC_RSVLPTR 0xe
00960 #define CIF_TMC_RSCNVLPTR 0xf
00961 #define CIF_TMC_MAX 16
00962
00963
00964 #if CIF_VERSION != 1
00965
00966 #define CIF_TMC_UNDIMENSIONED 0
00967 #endif
00968
00969
00970
00971 #define CIF_TP_ALLOCATABLE 0
00972 #define CIF_TP_ALLOCATE 1
00973 #define CIF_TP_ASSIGN 2
00974 #define CIF_TP_ASSIGNMENT 3
00975 #define CIF_TP_BACKSPACE 4
00976 #define CIF_TP_BDATA 5
00977 #define CIF_TP_BUFFER 6
00978 #define CIF_TP_CALL 7
00979 #define CIF_TP_CASE 8
00980 #define CIF_TP_CLOSE 9
00981 #define CIF_TP_COMMON 10
00982 #define CIF_TP_CONTAINS 11
00983 #define CIF_TP_CONTINUE 12
00984 #define CIF_TP_CYCLE 13
00985 #define CIF_TP_DATA 14
00986 #define CIF_TP_DEALLOCATE 15
00987 #define CIF_TP_DECODE 16
00988 #define CIF_TP_DEFAULT 17
00989 #define CIF_TP_DERIVED_TYPE 18
00990 #define CIF_TP_DIMENSION 19
00991 #define CIF_TP_DIRECTIVE 20
00992 #define CIF_TP_LABELED_DO 21
00993 #define CIF_TP_UNLABELED_DO 22
00994 #define CIF_TP_ELSE 23
00995 #define CIF_TP_ELSEIF 24
00996 #define CIF_TP_ELSEWHERE 25
00997 #define CIF_TP_ENCODE 26
00998 #define CIF_TP_END 27
00999 #define CIF_TP_ENDFILE 28
01000 #define CIF_TP_ENTRY 29
01001 #define CIF_TP_EQUIVALENCE 30
01002 #define CIF_TP_EXIT 31
01003 #define CIF_TP_EXTERNAL 32
01004 #define CIF_TP_FORMAT 33
01005 #define CIF_TP_FUNCTION 34
01006 #define CIF_TP_GOTO 35
01007 #define CIF_TP_IF 36
01008 #define CIF_TP_IFTHEN 37
01009 #define CIF_TP_IMPLICIT 38
01010 #define CIF_TP_IMPNONE 39
01011 #define CIF_TP_INQUIRE 40
01012 #define CIF_TP_INTENT 41
01013 #define CIF_TP_INTERFACE 42
01014 #define CIF_TP_INTRINSIC 43
01015 #define CIF_TP_MODULE 44
01016 #define CIF_TP_MODULE_PROC 45
01017 #define CIF_TP_NAMELIST 46
01018 #define CIF_TP_NULLIFY 47
01019 #define CIF_TP_OPEN 48
01020 #define CIF_TP_OPTIONAL 49
01021 #define CIF_TP_PARAMETER 50
01022 #define CIF_TP_PAUSE 51
01023 #define CIF_TP_POINTER 52
01024 #define CIF_TP_PRINT 53
01025 #define CIF_TP_PRIVATE 54
01026 #define CIF_TP_PROGRAM 55
01027 #define CIF_TP_PUBLIC 56
01028 #define CIF_TP_PUNCH 57
01029 #define CIF_TP_READ 58
01030 #define CIF_TP_RETURN 59
01031 #define CIF_TP_REWIND 60
01032 #define CIF_TP_SAVE 61
01033 #define CIF_TP_SELECT 62
01034 #define CIF_TP_SEQUENCE 63
01035 #define CIF_TP_STMTFUNC 64
01036 #define CIF_TP_STOP 65
01037 #define CIF_TP_SUBROUTINE 66
01038 #define CIF_TP_TARGET 67
01039 #define CIF_TP_TYPE_DECL 68
01040 #define CIF_TP_USE 69
01041 #define CIF_TP_WHERE 70
01042 #define CIF_TP_WHERE_CONST 71
01043 #define CIF_TP_WRITE 72
01044 #define CIF_TP_BUFFER_IN 73
01045 #define CIF_TP_BUFFER_OUT 74
01046 #define CIF_TP_DOWHILE 75
01047 #define CIF_TP_DO 76
01048 #define CIF_TP_ENDDO 77
01049 #define CIF_TP_ENDIF 78
01050 #define CIF_TP_INCLUDE 79
01051 #if CIF_VERSION == 1
01052 #define CIF_TP_MAX 80
01053 #else
01054 #define CIF_TP_CDIR 80
01055 #define CIF_TP_MAX 81
01056 #endif
01057
01058 #if CIF_VERSION != 1
01059
01060
01061 #define CIF_CTP_EXPRESSION 0
01062 #define CIF_CTP_COMPOUND 1
01063 #define CIF_CTP_IF 2
01064 #define CIF_CTP_ELSE 3
01065 #define CIF_CTP_WHILE 4
01066 #define CIF_CTP_DO 5
01067 #define CIF_CTP_FOR 6
01068 #define CIF_CTP_SWITCH 7
01069 #define CIF_CTP_BREAK 8
01070 #define CIF_CTP_GOTO 9
01071 #define CIF_CTP_RETURN 10
01072 #define CIF_CTP_CONTINUE 11
01073 #define CIF_CTP_NULL 12
01074 #define CIF_CTP_PRAGMA 13
01075 #define CIF_CTP_ASSIGNMENT 14
01076 #define CIF_CTP_END_COMPOUND 15
01077 #define CIF_CTP_EXPR_END 16
01078 #define CIF_CTP_DO_WHILE_END 17
01079 #define CIF_CTP_RETURN_WITH_EXPR 18
01080 #define CIF_CTP_CASE 19
01081 #define CIF_CTP_LABEL 20
01082 #define CIF_CTP_TRY 21
01083 #define CIF_CTP_ASM 22
01084 #define CIF_CTP_MAX 23
01085
01086
01087
01088
01089
01090
01091
01092
01093
01094
01095 #define CIF_F90_TP_ALLOCATABLE 0
01096 #define CIF_F90_TP_ALLOCATE 1
01097 #define CIF_F90_TP_ASSIGN 2
01098 #define CIF_F90_TP_ASSIGNMENT 3
01099 #define CIF_F90_TP_BACKSPACE 4
01100 #define CIF_F90_TP_BDATA 5
01101
01102 #define CIF_F90_TP_CALL 7
01103 #define CIF_F90_TP_CASE 8
01104 #define CIF_F90_TP_CLOSE 9
01105 #define CIF_F90_TP_COMMON 10
01106 #define CIF_F90_TP_CONTAINS 11
01107 #define CIF_F90_TP_CONTINUE 12
01108 #define CIF_F90_TP_CYCLE 13
01109 #define CIF_F90_TP_DATA 14
01110 #define CIF_F90_TP_DEALLOCATE 15
01111 #define CIF_F90_TP_DECODE 16
01112 #define CIF_F90_TP_CASE_DEFAULT 17
01113 #define CIF_F90_TP_TYPE 18
01114 #define CIF_F90_TP_DIMENSION 19
01115 #define CIF_F90_TP_DIRECTIVE 20
01116
01117 #define CIF_F90_TP_ELSE 23
01118 #define CIF_F90_TP_ELSEIF 24
01119 #define CIF_F90_TP_ELSEWHERE 25
01120 #define CIF_F90_TP_ENCODE 26
01121
01122 #define CIF_F90_TP_ENDFILE 28
01123 #define CIF_F90_TP_ENTRY 29
01124 #define CIF_F90_TP_EQUIVALENCE 30
01125 #define CIF_F90_TP_EXIT 31
01126 #define CIF_F90_TP_EXTERNAL 32
01127 #define CIF_F90_TP_FORMAT 33
01128 #define CIF_F90_TP_FUNCTION 34
01129
01130 #define CIF_F90_TP_IF 37
01131 #define CIF_F90_TP_IMPLICIT 38
01132 #define CIF_F90_TP_IMPLICIT_NONE 39
01133 #define CIF_F90_TP_INQUIRE 40
01134
01135 #define CIF_F90_TP_INTRINSIC 43
01136 #define CIF_F90_TP_MODULE 44
01137 #define CIF_F90_TP_MODULE_PROC 45
01138 #define CIF_F90_TP_NAMELIST 46
01139 #define CIF_F90_TP_NULLIFY 47
01140 #define CIF_F90_TP_OPEN 48
01141 #define CIF_F90_TP_OPTIONAL 49
01142 #define CIF_F90_TP_PARAMETER 50
01143 #define CIF_F90_TP_PAUSE 51
01144 #define CIF_F90_TP_POINTER 52
01145 #define CIF_F90_TP_PRINT 53
01146 #define CIF_F90_TP_PRIVATE 54
01147 #define CIF_F90_TP_PROGRAM 55
01148 #define CIF_F90_TP_PUBLIC 56
01149
01150 #define CIF_F90_TP_READ 58
01151 #define CIF_F90_TP_RETURN 59
01152 #define CIF_F90_TP_REWIND 60
01153 #define CIF_F90_TP_SAVE 61
01154 #define CIF_F90_TP_SELECT_CASE 62
01155 #define CIF_F90_TP_SEQUENCE 63
01156 #define CIF_F90_TP_STMTFUNC 64
01157 #define CIF_F90_TP_STOP 65
01158 #define CIF_F90_TP_SUBROUTINE 66
01159 #define CIF_F90_TP_TARGET 67
01160 #define CIF_F90_TP_TYPE_DECL 68
01161 #define CIF_F90_TP_USE 69
01162 #define CIF_F90_TP_WHERE 70
01163 #define CIF_F90_TP_WHERE_CONST 71
01164 #define CIF_F90_TP_WRITE 72
01165 #define CIF_F90_TP_BUFFER_IN 73
01166 #define CIF_F90_TP_BUFFER_OUT 74
01167
01168 #define CIF_F90_TP_END_DO 77
01169 #define CIF_F90_TP_END_IF 78
01170 #define CIF_F90_TP_INCLUDE 79
01171 #define CIF_F90_TP_CDIR 80
01172
01173 #define CIF_F90_TP_ARRAY_ASSIGNMENT 81
01174 #define CIF_F90_TP_POINTER_ASGN 82
01175
01176 #define CIF_F90_TP_LABELED_DO_INFINITE 100
01177 #define CIF_F90_TP_UNLABELED_DO_INFINITE 101
01178 #define CIF_F90_TP_LABELED_DO_ITERATIVE 102
01179 #define CIF_F90_TP_UNLABELED_DO_ITERATIVE 103
01180 #define CIF_F90_TP_LABELED_DO_WHILE 104
01181 #define CIF_F90_TP_UNLABELED_DO_WHILE 105
01182 #define CIF_F90_TP_END_BDATA 106
01183 #define CIF_F90_TP_END_FUNCTION 107
01184 #define CIF_F90_TP_END_INTERFACE 108
01185 #define CIF_F90_TP_END_MODULE 109
01186 #define CIF_F90_TP_END_PROGRAM 110
01187 #define CIF_F90_TP_END_SELECT 111
01188 #define CIF_F90_TP_END_SUBROUTINE 112
01189 #define CIF_F90_TP_END_TYPE 113
01190 #define CIF_F90_TP_END_WHERE 114
01191 #define CIF_F90_TP_GOTO 115
01192 #define CIF_F90_TP_GOTO_ASSIGNED 116
01193 #define CIF_F90_TP_GOTO_COMPUTED 117
01194 #define CIF_F90_TP_IF_LOGICAL 118
01195 #define CIF_F90_TP_IF_ARITHMETIC 119
01196 #define CIF_F90_TP_IF_IND_LOG 120
01197 #define CIF_F90_TP_IF_TWO_BRANCH_ARITHMETIC 121
01198 #define CIF_F90_TP_INTENT_IN 122
01199 #define CIF_F90_TP_INTENT_OUT 123
01200 #define CIF_F90_TP_INTENT_INOUT 124
01201 #define CIF_F90_TP_INTERFACE 125
01202 #define CIF_F90_TP_INTERFACE_GENERIC 126
01203 #define CIF_F90_TP_INTERFACE_OPERATOR 127
01204 #define CIF_F90_TP_INTERFACE_ASSIGNMENT 128
01205 #define CIF_F90_TP_TASK_COMMON 129
01206 #define CIF_F90_TP_AUTOMATIC 130
01207 #define CIF_F90_TP_ELEMENTAL 131
01208 #define CIF_F90_TP_PURE 132
01209 #define CIF_F90_TP_FORALL 133
01210 #define CIF_F90_TP_FORALL_CONSTRUCT 134
01211 #define CIF_F90_TP_MAX 135
01212
01213
01214
01215
01216
01217
01218 #define CIF_SCP_MAIN 0
01219 #define CIF_SCP_EXTERNAL 1
01220 #define CIF_SCP_BLOCK 2
01221 #define CIF_SCP_MOD_SUB 3
01222 #define CIF_SCP_MODULE 4
01223 #define CIF_SCP_INTERNAL 5
01224 #define CIF_SCP_INTERFACE 6
01225 #define CIF_SCP_INT_BLOCK 7
01226
01227
01228
01229 #define CIF_IB_SPECIFIC 1
01230 #define CIF_IB_GENERIC 2
01231 #define CIF_IB_OPERATOR 3
01232 #define CIF_IB_ASSIGNMENT 4
01233
01234
01235
01236 #define CIF_DRT_SEQUENCE 0x1
01237 #define CIF_DRT_PRIVATE 0x2
01238 #define CIF_DRT_COMP_PRIVATE 0x4
01239
01240
01241
01242 #define CIF_BE_TIMING 0
01243 #define CIF_BE_LOOP 1
01244 #define CIF_BE_BTE 2
01245 #define CIF_BE_OTHER 3
01246
01247
01248 #define CIF_TT_WORK 0
01249 #define CIF_TT_CALL 1
01250 #define CIF_TT_MEM 2
01251 #define CIF_TT_PFQ 3
01252 #define CIF_TT_BTE 4
01253 #define CIF_TT_BARRIER 5
01254 #define CIF_TT_CRIT 6
01255 #define CIF_TT_ATOMIC 7
01256 #define CIF_TT_LOOPS 8
01257 #define CIF_TT_LOOPD 9
01258 #define CIF_TT_LOOPT 10
01259 #define CIF_TT_ENTRY 11
01260
01261
01262 #define CIF_BE_BRANCH 1
01263 #define CIF_BE_COND_BR 2
01264 #define CIF_BE_PAL 3
01265 #define CIF_BE_RET 4
01266 #define CIF_BE_S2PC 5
01267
01268
01269
01270 #define CIF_IT_FADD 0
01271 #define CIF_IT_FMUL 1
01272 #define CIF_IT_FDIV_S 2
01273 #define CIF_IT_FDIV_T 3
01274 #define CIF_IT_IADD 4
01275 #define CIF_IT_IMUL 5
01276 #define CIF_IT_IDIV 6
01277 #define CIF_IT_LOAD 7
01278 #define CIF_IT_STORE 8
01279 #define CIF_IT_LOAD_LS 9
01280 #define CIF_IT_STORE_LS 10
01281 #define CIF_IT_LOAD_R 11
01282 #define CIF_IT_STORE_R 12
01283 #define CIF_IT_OTHER 13
01284 #define CIF_IT_MAX 14
01285
01286
01287 #define CIF_SRC_KIND_MAIN 1
01288 #define CIF_SRC_KIND_INCLUDE 2
01289 #define CIF_SRC_KIND_MACRO 3
01290 #define CIF_SRC_KIND_INLINE 4
01291 #define CIF_SRC_KIND_TAIL 5
01292
01293
01294 #endif
01295
01296
01297 #define CIF_TQC_CONST 0x1
01298 #define CIF_TQC_VOL 0x2
01299 #define CIF_TQC_RESTR 0x4
01300 #define CIF_TQC_MAX 5
01301
01302
01303
01304
01305
01306
01307
01308
01309 #define CIF_ER_100 -1
01310 #define CIF_ER_INTERNAL -2
01311 #define CIF_ER_OTHER -3
01312
01313
01314
01315
01316
01317
01318
01319
01320
01321
01322
01323
01324
01325 struct Cif_generic {
01326 FIELD rectype:8;
01327 };
01328
01329
01330 struct Cif_tmod {
01331 FIELD val:32;
01332 FIELD mod:8;
01333 };
01334 #define TMOD_SSIZE 5
01335
01336
01337 struct Cif_c_const {
01338 FIELD rectype:8;
01339 FIELD symid:24;
01340 FIELD vlen:24;
01341 FIELD btype:8;
01342 char *value;
01343 };
01344 #define CCONST_SSIZE 8
01345
01346
01347
01348 #if CIF_VERSION == 1
01349
01350 struct Cif_c_entry {
01351 FIELD rectype:8;
01352 FIELD ptype:2;
01353 FIELD symclass:2;
01354 FIELD retvalue:2;
01355
01356 FIELD varargs:2;
01357
01358
01359
01360 FIELD scope:8;
01361 FIELD nlen:8;
01362 FIELD symid:24;
01363 FIELD nargs:8;
01364 FIELD nmods:4;
01365 FIELD qual:4;
01366 FIELD btype:8;
01367 struct Cif_tmod *mods;
01368 long *argids;
01369 char *name;
01370 };
01371
01372 #define CENTRY_SSIZE 10
01373
01374 #else
01375
01376 struct Cif_c_entry {
01377 FIELD rectype:8;
01378 FIELD ptype:2;
01379 FIELD symclass:6;
01380 FIELD retvalue:4;
01381
01382 FIELD varargs:4;
01383 FIELD scope:8;
01384 FIELD nlen:8;
01385 FIELD symid:24;
01386 FIELD nargs:8;
01387 FIELD tagid:24;
01388
01389 FIELD nmods:4;
01390 FIELD qual:4;
01391 FIELD btype:8;
01392 FIELD un:16;
01393 FIELD link:24;
01394 struct Cif_tmod *mods;
01395 long *argids;
01396 char *name;
01397 };
01398
01399 #define CENTRY_SSIZE_2 15
01400
01401
01402
01403 #define CENTRY_SSIZE 19
01404
01405
01406
01407 struct Cif_c_entry_1 {
01408 FIELD rectype:8;
01409 FIELD ptype:2;
01410 FIELD symclass:2;
01411 FIELD retvalue:2;
01412
01413 FIELD varargs:2;
01414 FIELD scope:8;
01415 FIELD nlen:8;
01416 FIELD symid:24;
01417 FIELD nargs:8;
01418 FIELD nmods:4;
01419 FIELD qual:4;
01420 FIELD btype:8;
01421 struct Cif_tmod *mods;
01422 long *argids;
01423 char *name;
01424 };
01425
01426 #define CENTRY_SSIZE_1 10
01427
01428 #endif
01429
01430
01431
01432
01433
01434 #if CIF_VERSION != 1
01435
01436 struct Cif_c_lint_directive {
01437 FIELD rectype:8;
01438 FIELD fid:24;
01439 FIELD nlen:8;
01440 FIELD objid:24;
01441 FIELD val:16;
01442 FIELD strpos:16;
01443 FIELD strline:24;
01444 FIELD un1:8;
01445 FIELD endline:24;
01446 FIELD un2:8;
01447 FIELD endpos:16;
01448 char *name;
01449 };
01450 #define CLINT_DIRECTIVE_SSIZE 22
01451
01452
01453 struct Cif_c_entry_end {
01454 FIELD rectype:8;
01455 FIELD symid:24;
01456 FIELD strline:24;
01457 FIELD nlen:8;
01458 FIELD endline:24;
01459 FIELD un1:8;
01460 FIELD fid:16;
01461 char *name;
01462 };
01463 #define CENTRY_END_SSIZE 14
01464
01465
01466 struct Cif_c_macro_def {
01467 FIELD rectype:8;
01468 FIELD symid:24;
01469 FIELD nlen:8;
01470 FIELD strline:24;
01471 FIELD fid:16;
01472 FIELD strpos:16;
01473 FIELD endline:24;
01474 FIELD un1:8;
01475 FIELD endpos:16;
01476 char *name;
01477 };
01478 #define CMACRO_DEF_SSIZE 18
01479
01480
01481 struct Cif_c_macro_undef {
01482 FIELD rectype:8;
01483 FIELD symid:24;
01484 FIELD fid:16;
01485 FIELD cpos:16;
01486 FIELD line:24;
01487 };
01488 #define CMACRO_UNDEF_SSIZE 11
01489
01490
01491 struct Cif_c_macro_usage {
01492 FIELD rectype:8;
01493 FIELD useid:24;
01494 FIELD symid:24;
01495 FIELD un1:8;
01496 FIELD fid:16;
01497 FIELD strpos:16;
01498 FIELD strline:24;
01499 FIELD un2:8;
01500 FIELD endline:24;
01501 FIELD un3:8;
01502 FIELD endpos:16;
01503 };
01504 #define CMACRO_USAGE_SSIZE 22
01505
01506 #endif
01507
01508
01509
01510
01511 #if CIF_VERSION == 1
01512 struct Cif_c_message {
01513 FIELD rectype:8;
01514 FIELD fline:24;
01515 FIELD msgno:16;
01516 FIELD fid:16;
01517 FIELD flinesuf:8;
01518 FIELD severity:8;
01519 FIELD incid:16;
01520 FIELD iline:24;
01521 FIELD nargs:8;
01522 char **args;
01523 };
01524 #define CMESSAGE_SSIZE 16
01525
01526 #else
01527
01528 struct Cif_c_message {
01529 FIELD rectype:8;
01530 FIELD fline:24;
01531 FIELD msgno:16;
01532 FIELD fid:16;
01533 FIELD flinesuf:8;
01534 FIELD severity:8;
01535 FIELD incid:16;
01536 FIELD iline:24;
01537 FIELD nargs:8;
01538 FIELD msgcode:8;
01539 char **args;
01540 };
01541 #define CMESSAGE_SSIZE 17
01542
01543
01544
01545
01546 struct Cif_c_message_1 {
01547 FIELD rectype:8;
01548 FIELD fline:24;
01549 FIELD msgno:16;
01550 FIELD fid:16;
01551 FIELD flinesuf:8;
01552 FIELD severity:8;
01553 FIELD incid:16;
01554 FIELD iline:24;
01555 FIELD nargs:8;
01556 char **args;
01557 };
01558 #define CMESSAGE_SSIZE_1 16
01559
01560 #endif
01561
01562
01563
01564 #if CIF_VERSION == 1
01565 struct Cif_c_object {
01566 FIELD rectype:8;
01567 FIELD symid:24;
01568 FIELD psymid:24;
01569 FIELD nlen:8;
01570 FIELD tagid:24;
01571 FIELD scope:8;
01572 FIELD size:6;
01573 FIELD symclass:6;
01574 FIELD entity:4;
01575 FIELD nmods:4;
01576 FIELD qual:4;
01577 FIELD btype:8;
01578 struct Cif_tmod *mods;
01579 char *name;
01580 };
01581 #define COBJECT_SSIZE 16
01582
01583 #else
01584
01585 struct Cif_c_object {
01586 FIELD rectype:8;
01587 FIELD symid:24;
01588 FIELD psymid:24;
01589 FIELD nlen:8;
01590 FIELD tagid:24;
01591 FIELD scope:8;
01592 FIELD size:6;
01593 FIELD symclass:6;
01594 FIELD entity:4;
01595 FIELD nmods:4;
01596 FIELD qual:4;
01597 FIELD btype:8;
01598 FIELD link:24;
01599 struct Cif_tmod *mods;
01600 char *name;
01601 };
01602 #define COBJECT_SSIZE 19
01603
01604
01605
01606
01607 struct Cif_c_object_1 {
01608 FIELD rectype:8;
01609 FIELD symid:24;
01610 FIELD psymid:24;
01611 FIELD nlen:8;
01612 FIELD tagid:24;
01613 FIELD scope:8;
01614 FIELD size:6;
01615 FIELD symclass:6;
01616 FIELD entity:4;
01617 FIELD nmods:4;
01618 FIELD qual:4;
01619 FIELD btype:8;
01620 struct Cif_tmod *mods;
01621 char *name;
01622 };
01623 #define COBJECT_SSIZE_1 16
01624
01625 #endif
01626
01627
01628 struct Cif_c_opts {
01629 FIELD rectype:8;
01630 FIELD msglev:8;
01631 FIELD truncval:8;
01632 FIELD debug:8;
01633 FIELD atsklev:2;
01634 FIELD inlnlev:2;
01635 FIELD sclrlev:2;
01636 FIELD vctrlev:2;
01637 FIELD nincs:8;
01638 FIELD ndefs:8;
01639 FIELD nudefs:8;
01640 char report[8];
01641 char bopts[16];
01642 FIELD nlen:8;
01643 char *name;
01644 char **incs;
01645 char **defs;
01646 char **udefs;
01647 };
01648 #define COPTS_SSIZE 33
01649
01650
01651 struct Cif_c_tag {
01652 FIELD rectype:8;
01653 FIELD tagid:24;
01654 FIELD size:32;
01655 FIELD nmems:16;
01656 FIELD entity:4;
01657 FIELD un1:4;
01658 FIELD nlen:8;
01659 FIELD nmods:4;
01660 FIELD qual:4;
01661 FIELD btype:8;
01662 struct Cif_tmod *mods;
01663 long *memids;
01664 char *name;
01665 };
01666 #define CTAG_SSIZE 14
01667
01668
01669 struct Cif_callsite {
01670 FIELD rectype:8;
01671 FIELD line:24;
01672 FIELD cpos:16;
01673 FIELD nargs:16;
01674 FIELD entryid:24;
01675 FIELD valused:1;
01676 FIELD un1:7;
01677 FIELD fid:16;
01678 struct Cif_callsite *link;
01679 long *argids;
01680 };
01681 #define CALLSITE_SSIZE 14
01682
01683
01684 struct Cif_cifhdr {
01685 FIELD rectype:8;
01686 FIELD version:8;
01687 FIELD bintype:2;
01688 FIELD lang:6;
01689 FIELD form:1;
01690 FIELD canpos:1;
01691 FIELD posinfo:1;
01692 FIELD cont_id:1;
01693 FIELD srcfid:4;
01694 FIELD msgfid:16;
01695 char cvers[16];
01696 char date[16];
01697 char time[16];
01698 char group[7];
01699 char hostcpu[9];
01700 char machname[16];
01701 };
01702 #define CIFHDR_SSIZE sizeof(struct Cif_cifhdr)
01703
01704 #if CIF_VERSION == 1
01705
01706
01707 struct Cif_comblk {
01708 FIELD rectype:8;
01709 FIELD symid:24;
01710 FIELD length:32;
01711 FIELD cbtype:8;
01712 FIELD nlen:8;
01713 char *name;
01714 };
01715 #define COMBLK_SSIZE 10
01716
01717 #else
01718
01719 struct Cif_comblk {
01720 FIELD rectype:8;
01721 FIELD symid:24;
01722 FIELD length:32;
01723 FIELD cbtype:8;
01724 FIELD nlen:8;
01725 FIELD dist:4;
01726 FIELD un1:4;
01727 char *name;
01728 };
01729 #define COMBLK_SSIZE 11
01730
01731
01732
01733
01734 struct Cif_comblk_1 {
01735 FIELD rectype:8;
01736 FIELD symid:24;
01737 FIELD length:32;
01738 FIELD cbtype:8;
01739 FIELD nlen:8;
01740 char *name;
01741 };
01742 #define COMBLK_SSIZE_1 10
01743
01744
01745 #endif
01746
01747 #if CIF_VERSION == 1
01748
01749
01750 struct Cif_const {
01751 FIELD rectype:8;
01752 FIELD dtype:8;
01753 FIELD nvalues:8;
01754 FIELD imptype:1;
01755 FIELD un1:7;
01756 FIELD nlen:8;
01757 FIELD symid:24;
01758 FIELD vlen:24;
01759 char *value;
01760 char *name;
01761 };
01762 #define CONST_SSIZE 11
01763
01764 #else
01765
01766
01767 struct Cif_const {
01768 FIELD rectype:8;
01769 FIELD dtype:8;
01770 FIELD nvalues:8;
01771 FIELD imptype:1;
01772 FIELD origform:1;
01773 FIELD un1:6;
01774 FIELD nlen:8;
01775 FIELD symid:24;
01776 FIELD vlen:24;
01777 FIELD un2:8;
01778 FIELD olen:24;
01779 char *value;
01780 char *oform;
01781 char *name;
01782 };
01783 #define CONST_SSIZE 15
01784
01785 struct Cif_const_1 {
01786 FIELD rectype:8;
01787 FIELD dtype:8;
01788 FIELD nvalues:8;
01789 FIELD imptype:1;
01790 FIELD un1:7;
01791 FIELD nlen:8;
01792 FIELD symid:24;
01793 FIELD vlen:24;
01794 char *value;
01795 char *name;
01796 };
01797 #define CONST_SSIZE_1 11
01798
01799 #endif
01800
01801
01802 #if CIF_VERSION != 1
01803
01804 struct Cif_cdir {
01805 FIELD rectype:8;
01806 FIELD line:24;
01807 FIELD fid:16;
01808 FIELD cpos:16;
01809 FIELD type:8;
01810 FIELD nids:16;
01811 long *ids;
01812 };
01813 #define CDIR_SSIZE 11
01814
01815
01816
01817 struct Cif_cdir_doshared {
01818 FIELD rectype:8;
01819 FIELD line:24;
01820 FIELD type:8;
01821 FIELD random:1;
01822 FIELD mexpr:1;
01823 FIELD un1:6;
01824 FIELD fid:16;
01825 FIELD cpos:16;
01826 FIELD mfid:16;
01827 FIELD mcpos:16;
01828 FIELD nids:16;
01829 FIELD mline:24;
01830 FIELD un2:8;
01831 FIELD m:32;
01832 long *ids;
01833 };
01834 #define CDIR_DOSHARED_SSIZE 24
01835
01836
01837
01838 struct Cif_geometry_dim {
01839 FIELD dist:8;
01840 FIELD wline:24;
01841 FIELD weight:16;
01842 FIELD wfid:16;
01843 FIELD wcpos:16;
01844 FIELD bfid:16;
01845 FIELD bsize:24;
01846 FIELD btype:1;
01847 FIELD wtype:1;
01848 FIELD un1:6;
01849 FIELD bline:24;
01850 FIELD un2:8;
01851 FIELD bcpos:16;
01852 };
01853 #define GEOM_SSIZE 22
01854
01855 struct Cif_geometry {
01856 FIELD rectype:8;
01857 FIELD geomid:24;
01858 FIELD ndims:8;
01859 FIELD nlen:24;
01860 struct Cif_geometry_dim *dim;
01861 char *name;
01862 };
01863 #define GEOMETRY_SSIZE 8
01864
01865
01866
01867 struct Cif_continuation {
01868 FIELD rectype:8;
01869 FIELD line:24;
01870 FIELD fid:16;
01871 FIELD cpos:16;
01872 FIELD type:1;
01873 FIELD un1:7;
01874 };
01875 #define CONTINUATION_SSIZE 9
01876
01877
01878 #endif
01879
01880
01881
01882
01883 struct Cif_edopts {
01884 FIELD rectype:8;
01885 long opts;
01886 };
01887 #define EDOPTS_SSIZE sizeof(struct Cif_edopts)
01888
01889
01890 struct Cif_entry {
01891 FIELD rectype:8;
01892 FIELD etype:8;
01893 FIELD dtype:8;
01894 FIELD nlen:8;
01895 FIELD valargs:1;
01896 FIELD recur:1;
01897 FIELD stmtfunc:1;
01898 FIELD extrn:1;
01899 FIELD intrin:1;
01900 FIELD un2:2;
01901 FIELD imptype:1;
01902 FIELD symid:24;
01903 FIELD charlen:24;
01904 FIELD nargs:8;
01905 long *argids;
01906 char *name;
01907 };
01908 #define ENTRY_SSIZE 13
01909
01910
01911
01912 #if CIF_VERSION == 3
01913
01914 struct Cif_file {
01915 FIELD rectype:8;
01916 FIELD nlen:8;
01917 FIELD fid:16;
01918 FIELD onlen:8;
01919 char *name;
01920 char *oname;
01921 };
01922 #define FILE_SSIZE 5
01923
01924 struct Cif_file_1 {
01925 FIELD rectype:8;
01926 FIELD nlen:8;
01927 FIELD fid:16;
01928 char *name;
01929 };
01930 #define FILE_SSIZE_1 4
01931
01932 #else
01933
01934 struct Cif_file {
01935 FIELD rectype:8;
01936 FIELD nlen:8;
01937 FIELD fid:16;
01938 char *name;
01939 };
01940 #define FILE_SSIZE 4
01941
01942 #endif
01943
01944
01945 struct Cif_unittbl {
01946 FIELD unitpos:32;
01947 FIELD nlen:8;
01948 char *name;
01949 };
01950 #define UNITTBL_SSIZE 5
01951
01952 struct Cif_filedir {
01953 FIELD rectype:8;
01954 FIELD maxfid:24;
01955 FIELD nunits:16;
01956 FIELD nfiles:16;
01957 FIELD maxsid:24;
01958 FIELD un1:8;
01959 FIELD nincs:16;
01960 struct Cif_unittbl *ut;
01961 };
01962 #define FILEDIR_SSIZE 14
01963
01964
01965 struct Cif_include {
01966 FIELD rectype:8;
01967 FIELD line:24;
01968 FIELD cpos:16;
01969 FIELD srcid:16;
01970 FIELD incid:16;
01971 };
01972 #define INCLUDE_SSIZE 10
01973
01974
01975 struct Cif_label {
01976 FIELD rectype:8;
01977 FIELD symid:24;
01978 FIELD ltype:8;
01979 FIELD nlen:8;
01980 char *name;
01981 };
01982 #define LABEL_SSIZE 6
01983
01984
01985 struct Cif_loop {
01986 FIELD rectype:8;
01987 FIELD strline:24;
01988 FIELD lptype:8;
01989 FIELD endline:24;
01990 FIELD strcpos:16;
01991 FIELD endcpos:16;
01992 FIELD sfid:16;
01993 FIELD efid:16;
01994 FIELD symid:24;
01995 FIELD un1:8;
01996 FIELD labelid:24;
01997 };
01998 #define LOOP_SSIZE 23
01999
02000 #if CIF_VERSION == 1
02001
02002
02003 struct Cif_mach_char {
02004 FIELD rectype:8;
02005 int memspeed;
02006 long memsize;
02007 long valmask;
02008 char cpuname[16];
02009 };
02010 #define MACH_CHAR_SSIZE sizeof(struct Cif_mach_char)
02011
02012 #else
02013
02014
02015 struct Cif_mach_char {
02016 FIELD rectype:8;
02017 FIELD memspeed:24;
02018 FIELD memsize:32;
02019 FIELD valmask:32;
02020 char cpuname[15];
02021 FIELD tbitlen:8;
02022 FIELD numbanks:16;
02023 FIELD numcpus:16;
02024 FIELD instbufsize:32;
02025 FIELD clockperiod:16;
02026 FIELD numclregs:16;
02027 FIELD bankbusytime:16;
02028 };
02029 #define MACH_CHAR_SSIZE 42
02030
02031 struct Cif_mach_char_1 {
02032 FIELD rectype:8;
02033 int memspeed;
02034 long memsize;
02035 long valmask;
02036 char cpuname[16];
02037 };
02038 #define MACH_CHAR_SSIZE_1 sizeof(struct Cif_mach_char_1)
02039
02040
02041
02042 #endif
02043
02044 #if CIF_VERSION < 3
02045
02046
02047 struct Cif_message {
02048 FIELD rectype:8;
02049 FIELD fline:24;
02050 FIELD severity:8;
02051 FIELD uline:24;
02052 FIELD msgno:16;
02053 FIELD cpos:16;
02054 FIELD nargs:8;
02055 FIELD fid:16;
02056 char **args;
02057 };
02058 #define MESSAGE_SSIZE 15
02059
02060 #else
02061
02062
02063 struct Cif_message {
02064 FIELD rectype:8;
02065 FIELD fline:24;
02066 FIELD severity:8;
02067 FIELD uline:24;
02068 FIELD msgno:16;
02069 FIELD cpos:16;
02070 FIELD nargs:8;
02071 FIELD fid:16;
02072 FIELD nlen:8;
02073 FIELD order:8;
02074 FIELD flags:8;
02075 FIELD un1:16;
02076 FIELD pfid:24;
02077
02078 char **args;
02079 char *name;
02080 };
02081 #define MESSAGE_SSIZE 23
02082
02083
02084 struct Cif_message_1 {
02085 FIELD rectype:8;
02086 FIELD fline:24;
02087 FIELD severity:8;
02088 FIELD uline:24;
02089 FIELD msgno:16;
02090 FIELD cpos:16;
02091 FIELD nargs:8;
02092 FIELD fid:16;
02093 char **args;
02094 };
02095 #define MESSAGE_SSIZE_1 15
02096
02097 #endif
02098
02099 #if CIF_VERSION == 1
02100
02101
02102 struct Cif_misc_opts {
02103 FIELD rectype:8;
02104 FIELD malloc:4;
02105 FIELD intlen:4;
02106 FIELD msglvl:4;
02107 FIELD vopt:4;
02108 FIELD amode:4;
02109 FIELD trunc:4;
02110 FIELD truncval:8;
02111 FIELD nmsgs:8;
02112 FIELD ncdirs:8;
02113 FIELD onlen:8;
02114 FIELD cnlen:8;
02115 FIELD inlen:8;
02116 long *msgno;
02117 char **cdirs;
02118 char *objname;
02119 char *calname;
02120 char *inname;
02121 };
02122 #define MISC_OPTS_SSIZE 10
02123
02124 #else
02125
02126
02127 struct Cif_misc_opts {
02128 FIELD rectype:8;
02129 FIELD malloc:4;
02130 FIELD intlen:4;
02131 FIELD msglvl:4;
02132 FIELD vopt:4;
02133 FIELD amode:4;
02134 FIELD trunc:4;
02135 FIELD truncval:8;
02136 FIELD nmsgs:8;
02137 FIELD ncdirs:8;
02138 FIELD onlen:8;
02139 FIELD cnlen:8;
02140 FIELD inlen:8;
02141 FIELD llen:8;
02142 #ifdef CRAY
02143
02144
02145
02146
02147
02148
02149
02150
02151
02152 FIELD cifopt:16;
02153 FIELD inputlen:8;
02154 #else
02155 FIELD inputlen:8;
02156 FIELD cifopt:16;
02157 #endif
02158 FIELD runtime:8;
02159 FIELD numincs:8;
02160 long *msgno;
02161 char **cdirs;
02162 char *objname;
02163 char *calname;
02164 char *inname;
02165 char *lname;
02166 char **incdirs;
02167 };
02168 #define MISC_OPTS_SSIZE 16
02169
02170 struct Cif_misc_opts_1 {
02171 FIELD rectype:8;
02172 FIELD malloc:4;
02173 FIELD intlen:4;
02174 FIELD msglvl:4;
02175 FIELD vopt:4;
02176 FIELD amode:4;
02177 FIELD trunc:4;
02178 FIELD truncval:8;
02179 FIELD nmsgs:8;
02180 FIELD ncdirs:8;
02181 FIELD onlen:8;
02182 FIELD cnlen:8;
02183 FIELD inlen:8;
02184 long *msgno;
02185 char **cdirs;
02186 char *objname;
02187 char *calname;
02188 char *inname;
02189 };
02190 #define MISC_OPTS_SSIZE_1 10
02191
02192 #endif
02193
02194
02195 struct Cif_namelist {
02196 FIELD rectype:8;
02197 FIELD symid:24;
02198 FIELD nids:16;
02199 FIELD nlen:8;
02200 char *name;
02201 long *ids;
02202 };
02203 #define NAMELIST_SSIZE 7
02204
02205
02206 struct Cif_nd_msg {
02207 FIELD rectype:8;
02208 FIELD fline:24;
02209 FIELD severity:8;
02210 FIELD uline:24;
02211 FIELD msgno:16;
02212 FIELD cpos:16;
02213 FIELD fid:16;
02214 FIELD msgfid:16;
02215 char group[16];
02216 FIELD nargs:8;
02217 char **args;
02218 };
02219 #define ND_MSG_SSIZE 33
02220
02221
02222
02223 struct Cif_dim {
02224 int lower;
02225 int upper;
02226 FIELD ltype:8;
02227 FIELD utype:8;
02228 };
02229 #define DIM_SSIZE sizeof(struct Cif_dim)
02230
02231 #if CIF_VERSION == 1
02232
02233 struct Cif_object {
02234 FIELD rectype:8;
02235 FIELD storage:24;
02236 FIELD class:8;
02237 FIELD symid:24;
02238 FIELD dtype:8;
02239 FIELD charlen:24;
02240 FIELD offset:32;
02241 FIELD nlen:8;
02242 FIELD ndims:3;
02243 FIELD aarray:1;
02244 FIELD equiv:1;
02245 FIELD data:1;
02246 FIELD save:1;
02247 FIELD imptype:1;
02248 FIELD valoffset:1;
02249 FIELD cltype:1;
02250 FIELD un1:6;
02251 char *name;
02252 struct Cif_dim *dim;
02253 };
02254 #define OBJECT_SSIZE 19
02255
02256 #else
02257
02258 struct Cif_object {
02259 FIELD rectype:8;
02260 FIELD storage:24;
02261 FIELD symclass:8;
02262 FIELD symid:24;
02263 FIELD dtype:8;
02264 FIELD charlen:24;
02265 FIELD offset:32;
02266 FIELD nlen:8;
02267 FIELD ndims:3;
02268 FIELD aarray:1;
02269 FIELD equiv:1;
02270 FIELD data:1;
02271 FIELD save:1;
02272 FIELD imptype:1;
02273 FIELD valoffset:1;
02274 FIELD cltype:1;
02275 FIELD peresident:1;
02276 FIELD pointee:1;
02277 FIELD arraydec:1;
02278 FIELD geomdec:1;
02279 FIELD un1:6;
02280 FIELD dist:4;
02281 FIELD geomid:24;
02282 FIELD un2:8;
02283 FIELD pointer:24;
02284 char *name;
02285 struct Cif_dim *dim;
02286 };
02287 #define OBJECT_SSIZE 27
02288
02289
02290
02291
02292 struct Cif_object_1 {
02293 FIELD rectype:8;
02294 FIELD storage:24;
02295 FIELD symclass:8;
02296 FIELD symid:24;
02297 FIELD dtype:8;
02298 FIELD charlen:24;
02299 FIELD offset:32;
02300 FIELD nlen:8;
02301 FIELD ndims:3;
02302 FIELD aarray:1;
02303 FIELD equiv:1;
02304 FIELD data:1;
02305 FIELD save:1;
02306 FIELD imptype:1;
02307 FIELD valoffset:1;
02308 FIELD cltype:1;
02309 FIELD un1:6;
02310 char *name;
02311 struct Cif_dim *dim;
02312 };
02313 #define OBJECT_SSIZE_1 19
02314
02315 #endif
02316
02317
02318 #if CIF_VERSION == 1
02319
02320
02321 struct Cif_opt_opts {
02322 FIELD rectype:8;
02323 long values;
02324 };
02325 #define OPT_OPTS_SSIZE sizeof(struct Cif_opt_opts)
02326
02327 #else
02328
02329
02330 struct Cif_opt_opts {
02331 FIELD rectype:8;
02332 FIELD inlevel:2;
02333 FIELD un1:22;
02334 FIELD values:32;
02335 };
02336 #define OPT_OPTS_SSIZE 8
02337
02338
02339
02340 struct Cif_opt_opts_1 {
02341 FIELD rectype:8;
02342 long values;
02343 };
02344 #define OPT_OPTS_SSIZE_1 sizeof(struct Cif_opt_opts_1)
02345
02346 #endif
02347
02348
02349
02350 struct Cif_srcfile {
02351 FIELD rectype:8;
02352 FIELD form:8;
02353 FIELD fid:16;
02354 };
02355 #define SRCFILE_SSIZE 4
02356
02357
02358 struct Cif_summary {
02359 FIELD rectype:8;
02360 char level[16];
02361 char gdate[16];
02362 char gtime[16];
02363 char ctime[16];
02364 long fldlen;
02365 long nlines;
02366 long csize;
02367 long dsize;
02368 };
02369 #define SUMMARY_SSIZE sizeof(struct Cif_summary)
02370
02371
02372 struct Cif_stmt_type {
02373 FIELD rectype:8;
02374 FIELD line:24;
02375 FIELD cpos:16;
02376 FIELD fid:16;
02377 FIELD type:8;
02378 FIELD eline:24;
02379 FIELD efid:16;
02380 FIELD ecpos:16;
02381 };
02382 #define STMT_TYPE_SSIZE 16
02383
02384
02385 struct Cif_unit {
02386 FIELD rectype:8;
02387 FIELD line:24;
02388 FIELD cpos:16;
02389 FIELD fid:16;
02390 FIELD nlen:8;
02391 char *name;
02392 };
02393 #define UNIT_SSIZE 9
02394
02395
02396 struct Cif_endunit {
02397 FIELD rectype:8;
02398 FIELD line:24;
02399 FIELD cpos:16;
02400 FIELD fid:16;
02401 FIELD nlen:8;
02402 char *name;
02403 };
02404 #define ENDUNIT_SSIZE 9
02405
02406 #if CIF_VERSION == 1
02407
02408
02409 struct Cif_use {
02410 FIELD line:24;
02411 FIELD utype:10;
02412 FIELD cpos:14;
02413 FIELD fid:16;
02414 };
02415
02416 struct Cif_usage {
02417 FIELD rectype:8;
02418 FIELD nuses:24;
02419 FIELD symid:24;
02420 struct Cif_use *use;
02421 };
02422 #define USAGE_SSIZE 7
02423
02424 #else
02425
02426
02427 struct Cif_use {
02428 FIELD line:24;
02429 FIELD utype:10;
02430 FIELD data:1;
02431 FIELD init:1;
02432 FIELD cpos:12;
02433 FIELD fid:16;
02434 };
02435
02436
02437 struct Cif_use_1 {
02438 FIELD line:24;
02439 FIELD utype:10;
02440 FIELD cpos:14;
02441 FIELD fid:16;
02442 };
02443
02444 struct Cif_usage {
02445 FIELD rectype:8;
02446 FIELD nuses:24;
02447 FIELD symid:24;
02448 FIELD nmembs:8;
02449
02450 long *membs;
02451 struct Cif_use *use;
02452 };
02453 #define USAGE_SSIZE 8
02454
02455 struct Cif_usage_1 {
02456 FIELD rectype:8;
02457 FIELD nuses:24;
02458 FIELD symid:24;
02459 struct Cif_use *use;
02460 };
02461 #define USAGE_SSIZE_1 7
02462
02463 #endif
02464
02465
02466
02467 struct Cif_urectbl {
02468 FIELD rectype:8;
02469 FIELD nrecords:24;
02470 FIELD recpos:32;
02471 };
02472 #define URECTBL_SSIZE sizeof(struct Cif_urectbl)
02473
02474 struct Cif_unitdir {
02475 FIELD rectype:8;
02476 FIELD maxsid:24;
02477 FIELD nsections:16;
02478 struct Cif_urectbl *ur;
02479 };
02480 #define UNITDIR_SSIZE 6
02481
02482
02483
02484
02485 #if CIF_VERSION != 1
02486
02487
02488 struct Cif_transform {
02489 FIELD rectype:8;
02490 FIELD line:23;
02491 FIELD type:1;
02492 FIELD fid:16;
02493 };
02494 #define TRANSFORM_SSIZE 6
02495
02496
02497
02498
02499 #if CIF_VERSION == 2
02500
02501
02502 struct Cif_f90_derived_type {
02503 FIELD rectype:8;
02504 FIELD symid:24;
02505 FIELD scopeid:24;
02506 FIELD nlen:8;
02507 FIELD dervtype:24;
02508 FIELD sequence:1;
02509 FIELD defprivate:1;
02510 FIELD comprivate:1;
02511 FIELD un1:5;
02512 FIELD flag:16;
02513 FIELD nmembs:16;
02514 char *name;
02515 long *memids;
02516 };
02517 #define F90_DERIVED_TYPE_SSIZE 16
02518
02519 #else
02520
02521
02522 struct Cif_f90_derived_type {
02523 FIELD rectype:8;
02524 FIELD symid:24;
02525 FIELD scopeid:24;
02526 FIELD nlen:8;
02527 FIELD dervtype:24;
02528 FIELD sequence:1;
02529 FIELD defprivate:1;
02530 FIELD comprivate:1;
02531 FIELD un1:5;
02532 FIELD flag:16;
02533 FIELD nmembs:16;
02534 FIELD moduleid:24;
02535
02536 FIELD un2:8;
02537 FIELD un3:32;
02538 FIELD un4:32;
02539
02540 char *name;
02541 long *memids;
02542 };
02543 #define F90_DERIVED_TYPE_SSIZE 28
02544
02545
02546 struct Cif_f90_derived_type_2 {
02547 FIELD rectype:8;
02548 FIELD symid:24;
02549 FIELD scopeid:24;
02550 FIELD nlen:8;
02551 FIELD dervtype:24;
02552 FIELD sequence:1;
02553 FIELD defprivate:1;
02554 FIELD comprivate:1;
02555 FIELD un1:5;
02556 FIELD flag:16;
02557 FIELD nmembs:16;
02558 char *name;
02559 long *memids;
02560 };
02561 #define F90_DERIVED_TYPE_SSIZE_2 16
02562
02563 #endif
02564
02565
02566 struct Cif_f90_callsite {
02567 FIELD rectype:8;
02568 FIELD line:24;
02569 FIELD cpos:16;
02570 FIELD nargs:16;
02571 FIELD entryid:24;
02572 FIELD valused:1;
02573 FIELD rank:1;
02574 FIELD un1:6;
02575 FIELD procid:24;
02576 FIELD un2:8;
02577 FIELD fid:16;
02578 FIELD un3:16;
02579 FIELD scopeid:24;
02580 struct Cif_f90_callsite *link;
02581 long *argids;
02582 int *nmembs;
02583 long **membs;
02584 int *ranks;
02585
02586 };
02587 #define F90_CALLSITE_SSIZE 23
02588
02589
02590 struct Cif_f90_comblk {
02591 FIELD rectype:8;
02592 FIELD symid:24;
02593 FIELD length:32;
02594 FIELD cbtype:8;
02595 FIELD scopeid:24;
02596 FIELD nlen:8;
02597 FIELD moduleid:24;
02598 FIELD dist:8;
02599 char *name;
02600 };
02601 #define F90_COMBLK_SSIZE 16
02602
02603
02604 struct Cif_f90_const {
02605 FIELD rectype:8;
02606 FIELD aggregate:1;
02607 FIELD strline:23;
02608 FIELD endline:24;
02609 FIELD un1:8;
02610 FIELD vlen:16;
02611 FIELD fid:16;
02612 FIELD strpos:16;
02613 FIELD endpos:16;
02614 FIELD symid:24;
02615 FIELD un2:8;
02616 FIELD scopeid:24;
02617 char *value;
02618 };
02619 #define F90_CONST_SSIZE 23
02620
02621
02622 struct Cif_f90_entry {
02623 FIELD rectype:8;
02624 FIELD symid:24;
02625 FIELD etype:8;
02626 FIELD resultid:24;
02627 FIELD ptype:8;
02628 FIELD useassoc:1;
02629 FIELD direct:1;
02630
02631
02632
02633 FIELD scopeid:22;
02634 FIELD moduleid:24;
02635 FIELD nlen:8;
02636 FIELD valargs:1;
02637 FIELD defined:1;
02638 FIELD intblock:1;
02639 FIELD stmtfunc:1;
02640 FIELD referenced:1;
02641 FIELD optional:1;
02642 FIELD priv:1;
02643 FIELD recur:1;
02644 FIELD nargs:8;
02645 long *argids;
02646 char *name;
02647 };
02648 #define F90_ENTRY_SSIZE 18
02649
02650
02651 struct Cif_f90_loop {
02652 FIELD rectype:8;
02653 FIELD strline:24;
02654 FIELD lptype:8;
02655 FIELD endline:24;
02656 FIELD strcpos:16;
02657 FIELD endcpos:16;
02658 FIELD sfid:16;
02659 FIELD efid:16;
02660 FIELD scopeid:24;
02661 FIELD stmtid1:8;
02662 FIELD symid:24;
02663 FIELD stmtid2:8;
02664 FIELD labelid:24;
02665 FIELD stmtid3:8;
02666 FIELD nameid:24;
02667 };
02668
02669
02670
02671
02672 #define TOPBITS 255 << 16
02673 #define MIDDLEBITS 255 << 8
02674 #define BOTTOMBITS 255
02675 #define stmtid(A) ((A)->stmtid1<<16 | (A)->stmtid2<<8 | (A)->stmtid3)
02676 #define setStmtid(A, B) (A)->stmtid1 = (((B) & TOPBITS) >> 16); (A)->stmtid2 = (((B) & MIDDLEBITS) >> 8); (A)->stmtid3 = (B) & BOTTOMBITS
02677 #define F90_LOOP_SSIZE 31
02678
02679
02680
02681 struct Cif_f90_label {
02682 FIELD rectype:8;
02683 FIELD symid:24;
02684 FIELD ltype:8;
02685 FIELD scopeid:24;
02686 FIELD nlen:8;
02687 char *name;
02688 };
02689 #define F90_LABEL_SSIZE 9
02690
02691
02692
02693 struct Cif_f90_namelist {
02694 FIELD rectype:8;
02695 FIELD symid:24;
02696 FIELD nlen:8;
02697 FIELD scopeid:24;
02698 FIELD nids:16;
02699 FIELD un:16;
02700 FIELD moduleid:24;
02701 char *name;
02702 long *ids;
02703 };
02704 #define F90_NAMELIST_SSIZE 15
02705
02706
02707
02708
02709 struct Cif_f90_object {
02710 FIELD rectype:8;
02711 FIELD symid:24;
02712 FIELD storage:8;
02713 FIELD storageid:24;
02714 FIELD symclass:8;
02715 FIELD charlen:24;
02716 FIELD offset:32;
02717 FIELD nlen:8;
02718 FIELD ndims:4;
02719 FIELD equiv:1;
02720 FIELD data:1;
02721 FIELD save:1;
02722 FIELD imptype:1;
02723 FIELD valoffset:1;
02724 FIELD deftype:1;
02725 FIELD allocatable:1;
02726 FIELD startype:1;
02727 FIELD kindtype:1;
02728 FIELD intentin:1;
02729 FIELD intentout:1;
02730 FIELD intentinout:1;
02731 FIELD optional:1;
02732 FIELD pointer:1;
02733 FIELD priv:1;
02734 FIELD target:1;
02735 FIELD chartype:4;
02736 FIELD scopeid:24;
02737 FIELD atype:3;
02738 FIELD peresident:1;
02739 FIELD pointee:1;
02740 FIELD arraydec:1;
02741 FIELD geomdec:1;
02742 FIELD init:1;
02743 FIELD dervid:24;
02744 FIELD dist:4;
02745 FIELD localname:1;
02746 FIELD un1:3;
02747 FIELD dtype:32;
02748 FIELD geomid:24;
02749 FIELD un2:8;
02750 FIELD pointerid:24;
02751 char *name;
02752 struct Cif_dim *dim;
02753 };
02754 #define F90_OBJECT_SSIZE 39
02755
02756
02757
02758
02759 struct Cif_f90_misc_opts {
02760 FIELD rectype:8;
02761 FIELD intlen:4;
02762 FIELD msglvl:4;
02763 FIELD vopt:4;
02764 FIELD trunc:4;
02765 FIELD truncval:8;
02766 FIELD swidth:8;
02767 FIELD nmsgs:8;
02768 FIELD ncdirs:8;
02769 FIELD nPdirs:8;
02770 FIELD npdirs:8;
02771 FIELD onlen:8;
02772 FIELD cnlen:8;
02773 FIELD inlen:8;
02774 FIELD ciflen:8;
02775 FIELD cifopts:8;
02776 FIELD srcform:1;
02777 FIELD runtime:7;
02778 long *msgno;
02779 char **cdirs;
02780 char **Pdirs;
02781 char **pdirs;
02782 char *objname;
02783 char *calname;
02784 char *inname;
02785 char *cifname;
02786 };
02787 #define F90_MISC_OPTS_SSIZE 15
02788
02789
02790
02791 struct Cif_f90_level_opts {
02792 FIELD optinlevel:16;
02793 FIELD level:16;
02794 };
02795
02796 #define OPTS_SSIZE sizeof(struct Cif_f90_level_opts)
02797
02798
02799 struct Cif_f90_opt_opts {
02800 FIELD rectype:8;
02801 FIELD newdef:1;
02802
02803
02804
02805
02806
02807 FIELD noptlevels:7;
02808 FIELD values:16;
02809 struct Cif_f90_level_opts *lopts;
02810 };
02811 #define F90_OPT_OPTS_SSIZE 4
02812
02813
02814
02815 struct Cif_f90_begin_scope {
02816 FIELD rectype:8;
02817 FIELD scopeid:24;
02818 FIELD fid:16;
02819 FIELD cpos:16;
02820 FIELD line:24;
02821 FIELD stype:8;
02822 FIELD symid:24;
02823 FIELD level:8;
02824 FIELD parentid:24;
02825 };
02826 #define F90_BEGIN_SCOPE_SSIZE 19
02827
02828
02829
02830 struct Cif_f90_end_scope {
02831 FIELD rectype:8;
02832 FIELD scopeid:24;
02833 FIELD fid:16;
02834 FIELD cpos:15;
02835 FIELD error:1;
02836 FIELD line:24;
02837 };
02838 #define F90_END_SCOPE_SSIZE 11
02839
02840
02841
02842 struct Cif_f90_scope_info {
02843 FIELD rectype:8;
02844 FIELD scopeid:24;
02845 FIELD impnone:1;
02846 FIELD doesio:1;
02847 FIELD hascalls:1;
02848 FIELD hascmics:1;
02849 FIELD numalts:12;
02850 long *entryids;
02851 };
02852 #define F90_SCOPE_INFO_SSIZE 6
02853
02854
02855
02856 struct Cif_f90_use_module {
02857 FIELD rectype:8;
02858 FIELD modid:24;
02859 FIELD modfid:16;
02860 FIELD direct:1;
02861 FIELD un1:15;
02862 };
02863 #define F90_USE_MODULE_SSIZE 8
02864
02865
02866
02867 struct Cif_f90_rename {
02868 FIELD rectype:8;
02869 FIELD modid:24;
02870 FIELD orignlen:8;
02871 FIELD origmodid:24;
02872 FIELD nlen:8;
02873 FIELD scopeid:24;
02874 FIELD nlocalids:8;
02875 FIELD nameid:24;
02876 long *localid;
02877 char *name;
02878 char *origname;
02879 };
02880 #define F90_RENAME_SSIZE 16
02881
02882
02883
02884
02885 #if CIF_VERSION <= 2
02886 struct Cif_f90_int_block {
02887 FIELD rectype:8;
02888 FIELD intid:24;
02889 FIELD type:7;
02890 FIELD priv:1;
02891 FIELD nlen:8;
02892 FIELD numints:16;
02893 FIELD scopeid:24;
02894 long *procids;
02895 char *name;
02896 };
02897 #define F90_INT_BLOCK_SSIZE 11
02898
02899 #else
02900
02901 struct Cif_f90_int_block {
02902 FIELD rectype:8;
02903 FIELD intid:24;
02904 FIELD type:7;
02905 FIELD priv:1;
02906 FIELD nlen:8;
02907 FIELD numints:16;
02908 FIELD scopeid:24;
02909 FIELD un1:8;
02910 FIELD moduleid:24;
02911 FIELD un2:32;
02912 FIELD un3:32;
02913 long *procids;
02914 char *name;
02915 };
02916 #define F90_INT_BLOCK_SSIZE 23
02917
02918 struct Cif_f90_int_block_2 {
02919 FIELD rectype:8;
02920 FIELD intid:24;
02921 FIELD type:7;
02922 FIELD priv:1;
02923 FIELD nlen:8;
02924 FIELD numints:16;
02925 FIELD scopeid:24;
02926 long *procids;
02927 char *name;
02928 };
02929 #define F90_INT_BLOCK_SSIZE_2 11
02930
02931 #endif
02932
02933
02934
02935
02936 struct Cif_f90_vectorization {
02937 FIELD rectype:8;
02938
02939 };
02940 #define F90_VECTORIZATION_SSIZE 1
02941
02942
02943 #if CIF_VERSION == 2
02944
02945
02946 struct Cif_BE_node {
02947 FIELD rectype:8;
02948 FIELD block:24;
02949 FIELD blocklet:8;
02950 FIELD nsuccs:4;
02951 FIELD nlines:4;
02952 FIELD type:7;
02953 FIELD is_entry:1;
02954 FIELD subtype:8;
02955 FIELD app_before:8;
02956 FIELD app_after:8;
02957 FIELD index:16;
02958 FIELD clocks:32;
02959 int icnt[ CIF_IT_MAX ];
02960 int *succs;
02961 int *lines;
02962 char *label;
02963 };
02964 #define BENODE_SSIZE (16 + CIF_IT_MAX * sizeof( int ))
02965
02966 #else
02967
02968
02969 struct Cif_BE_node {
02970 FIELD rectype:8;
02971 FIELD block:24;
02972 FIELD blocklet:8;
02973 FIELD nsuccs:4;
02974 FIELD nlines:4;
02975 FIELD type:7;
02976 FIELD is_entry:1;
02977 FIELD subtype:8;
02978 FIELD app_before:8;
02979 FIELD app_after:8;
02980 FIELD index:16;
02981 FIELD clocks:32;
02982 int icnt[ CIF_IT_MAX ];
02983 int *succs;
02984 int *fid;
02985 int *lines;
02986 char *label;
02987 };
02988 #define BENODE_SSIZE (16 + CIF_IT_MAX * sizeof( int ))
02989
02990
02991 struct Cif_BE_node_2 {
02992 FIELD rectype:8;
02993 FIELD block:24;
02994 FIELD blocklet:8;
02995 FIELD nsuccs:4;
02996 FIELD nlines:4;
02997 FIELD type:7;
02998 FIELD is_entry:1;
02999 FIELD subtype:8;
03000 FIELD app_before:8;
03001 FIELD app_after:8;
03002 FIELD index:16;
03003 FIELD clocks:32;
03004 int icnt[ CIF_IT_MAX ];
03005 int *succs;
03006 int *lines;
03007
03008 char *label;
03009 };
03010 #define BENODE_SSIZE_2 (16 + CIF_IT_MAX * sizeof( int ))
03011
03012 #endif
03013
03014 struct Cif_BE_fid {
03015 FIELD rectype:8;
03016 FIELD block:24;
03017 FIELD blocklet:8;
03018 FIELD un1:4;
03019 FIELD nfid:4;
03020 int *fid;
03021 };
03022 #define BEFID_SSIZE 6
03023
03024 #endif
03025
03026
03027 #if CIF_VERSION == 3
03028
03029 struct Cif_cc_type {
03030 FIELD rectype:8;
03031 FIELD scopeid:24;
03032 FIELD ptype:16;
03033