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 # define AT_WORK_IDX NULL_IDX
00047 # define BD_FREE_LIST_IDX NULL_IDX
00048
00049
00050
00051
00052 # define BD_DEFERRED_1_IDX 1
00053 # define BD_DEFERRED_2_IDX 2
00054 # define BD_DEFERRED_3_IDX 3
00055 # define BD_DEFERRED_4_IDX 4
00056 # define BD_DEFERRED_5_IDX 5
00057 # define BD_DEFERRED_6_IDX 6
00058 # define BD_DEFERRED_7_IDX 7
00059
00060 # define MAX_NUM_DIMS 7
00061
00062
00063
00064 # define CN_INTEGER_ZERO_IDX 1
00065 # define CN_INTEGER_ONE_IDX 2
00066 # define CN_INTEGER_TWO_IDX 3
00067 # define CN_INTEGER_THREE_IDX 4
00068 # define CN_INTEGER_NEG_ONE_IDX 5
00069 # define CN_INTEGER_BITS_PER_WORD_IDX 6
00070 # define CN_INTEGER_CHAR_BIT_IDX 7
00071
00072
00073 # define INTRINSIC_SCP_IDX NULL_IDX
00074 # define MAIN_SCP_IDX 1
00075
00076 # define NAME_POOL_ZERO_IDX 1
00077 # define NAME_POOL_ONES_IDX 2
00078
00079 # define TYP_WORK_IDX 0
00080
00081
00082
00083
00084 # define DOUBLE_PRECISION_TYPE_IDX Num_Linear_Types
00085 # define DOUBLE_COMPLEX_TYPE_IDX Num_Linear_Types + 1
00086
00087
00088
00089
00090
00091 # ifdef _HOST64
00092 # define NUM_AA_WDS 3
00093 # define NUM_AL_WDS 1
00094 # define NUM_AT_WDS 7
00095 # define NUM_BD_WDS 2
00096 # define NUM_BLK_STK_WDS 8
00097 # define NUM_CN_WDS 2
00098 # define OLD_NUM_CN_WDS 1
00099 # define NUM_CP_WDS 1
00100 # define NUM_CS_WDS 1
00101 # define NUM_EQ_WDS 4
00102 # define NUM_FP_WDS 3
00103 # define NUM_GA_WDS 4
00104 # define NUM_GB_WDS 1
00105 # define NUM_GL_WDS 5
00106 # define NUM_GN_WDS 1
00107 # define NUM_HN_WDS 1
00108 # define NUM_IL_WDS 2
00109 # define NUM_IR_WDS 4
00110 # define NUM_LN_WDS 1
00111 # define NUM_ML_WDS 6
00112 # define NUM_NP_WDS 1
00113 # ifdef _WHIRL_HOST64_TARGET64
00114 # define NUM_PDG_WDS 4
00115 # else
00116 # define NUM_PDG_WDS 2
00117 # endif
00118 # define NUM_RO_WDS 2
00119 # define NUM_SB_WDS 5
00120 # define NUM_SCP_WDS 26
00121 # define NUM_SH_WDS 3
00122 # define NUM_SN_WDS 2
00123 # define NUM_TYP_WDS 2
00124 # else
00125 # define NUM_AA_WDS 6
00126 # define NUM_AL_WDS 2
00127 # define NUM_AT_WDS 14
00128 # define NUM_BD_WDS 4
00129 # define NUM_BLK_STK_WDS 16
00130 # define NUM_CN_WDS 4
00131 # define OLD_NUM_CN_WDS 2
00132 # define NUM_CP_WDS 1
00133 # define NUM_CS_WDS 2
00134 # define NUM_EQ_WDS 8
00135 # define NUM_FP_WDS 6
00136 # define NUM_GA_WDS 8
00137 # define NUM_GB_WDS 2
00138 # define NUM_GL_WDS 10
00139 # define NUM_GN_WDS 2
00140 # define NUM_HN_WDS 2
00141 # define NUM_IL_WDS 4
00142 # define NUM_IR_WDS 8
00143 # define NUM_LN_WDS 2
00144 # define NUM_ML_WDS 12
00145 # define NUM_NP_WDS 1
00146 # define NUM_PDG_WDS 4
00147 # define NUM_RO_WDS 4
00148 # define NUM_SB_WDS 10
00149 # define NUM_SCP_WDS 52
00150 # define NUM_SH_WDS 6
00151 # define NUM_SN_WDS 4
00152 # define NUM_TYP_WDS 4
00153 # endif
00154
00155 # define SET_POINTER_SIZE (cmd_line_flags.s_pointer8)
00156
00157 # define Is_Target_32bit() (cmd_line_flags.s_pointer8 == 0)
00158 # define Is_Target_64bit() (cmd_line_flags.s_pointer8 == 1)
00159
00160
00161 # if defined(_DOPE_VECTOR_32_OR_64) || defined(TARG_X8664)
00162
00163 # if defined(TARG_X8664) && defined(_HOST64)
00164 # define DV_ALLOC_CPNT_OFFSET_WORD_SIZE 1
00165 # define DV_DIM_WORD_SIZE ((SET_POINTER_SIZE)? 3 : 3)
00166 # define DV_HD_WORD_SIZE ((SET_POINTER_SIZE)? 6 : 8)
00167 # define DV_BITS_PER_WORD ((SET_POINTER_SIZE)? 64 : 32)
00168 # define INTEGER_DEFAULT_BITS ((SET_POINTER_SIZE)? 64 : 32)
00169 # else
00170 # define DV_ALLOC_CPNT_OFFSET_WORD_SIZE ((SET_POINTER_SIZE)? 2 : 1)
00171 # define DV_DIM_WORD_SIZE ((SET_POINTER_SIZE)? 6 : 3)
00172 # define DV_HD_WORD_SIZE ((SET_POINTER_SIZE)? 12 : 8)
00173 # define DV_BITS_PER_WORD TARGET_BITS_PER_WORD
00174 # define INTEGER_DEFAULT_BITS TARGET_BITS_PER_WORD
00175 # endif
00176
00177 # define DV_BASE_ADDR(DOPE) ((SET_POINTER_SIZE)? \
00178 (DOPE).ptr64.base_addr : (DOPE).ptr32.base_addr)
00179 # define DV_EL_LEN(DOPE) ((SET_POINTER_SIZE)? \
00180 (DOPE).ptr64.el_len : (DOPE).ptr32.el_len)
00181 # define DV_ASSOC(DOPE) ((SET_POINTER_SIZE)? \
00182 (DOPE).ptr64.assoc : (DOPE).ptr32.assoc)
00183 # define DV_PTR_ALLOC(DOPE) ((SET_POINTER_SIZE)? \
00184 (DOPE).ptr64.ptr_alloc : (DOPE).ptr32.ptr_alloc)
00185 # define DV_P_OR_A(DOPE) ((SET_POINTER_SIZE)? \
00186 (DOPE).ptr64.p_or_a : (DOPE).ptr32.p_or_a)
00187 # define DV_A_CONTIG(DOPE) ((SET_POINTER_SIZE)? \
00188 (DOPE).ptr64.a_contig : (DOPE).ptr32.a_contig)
00189 # define DV_NUM_DIMS(DOPE) ((SET_POINTER_SIZE)? \
00190 (DOPE).ptr64.num_dims : (DOPE).ptr32.num_dims)
00191 # define DV_TYPE_CODE(DOPE) ((SET_POINTER_SIZE)? \
00192 (DOPE).ptr64.type_code : (DOPE).ptr32.type_code)
00193 # define DV_UNUSED_1(DOPE) ((SET_POINTER_SIZE)? \
00194 (DOPE).ptr64.unused_1 : (DOPE).ptr32.unused_1)
00195 # define DV_UNUSED_2(DOPE) ((SET_POINTER_SIZE)? \
00196 (DOPE).ptr64.unused_2 : (DOPE).ptr32.unused_2)
00197 # define DV_UNUSED_3(DOPE) ((SET_POINTER_SIZE)? \
00198 (DOPE).ptr64.unused_3 : (DOPE).ptr32.unused_3)
00199 # define DV_ORIG_BASE(DOPE) ((SET_POINTER_SIZE)? \
00200 (DOPE).ptr64.orig_base : (DOPE).ptr32.orig_base)
00201 # define DV_ORIG_SIZE(DOPE) ((SET_POINTER_SIZE)? \
00202 (DOPE).ptr64.orig_size : (DOPE).ptr32.orig_size)
00203 # define DV_LOW_BOUND(DOPE,IDX) ((SET_POINTER_SIZE)? \
00204 (DOPE).ptr64.dim[IDX].low_bound : (DOPE).ptr32.dim[IDX].low_bound)
00205 # define DV_EXTENT(DOPE,IDX) ((SET_POINTER_SIZE)? \
00206 (DOPE).ptr64.dim[IDX].extent : (DOPE).ptr32.dim[IDX].extent)
00207 # define DV_STRIDE_MULT(DOPE,IDX) ((SET_POINTER_SIZE)? \
00208 (DOPE).ptr64.dim[IDX].stride_mult : (DOPE).ptr32.dim[IDX].stride_mult)
00209
00210 # define DV_SET_BASE_ADDR(DOPE,RHS) \
00211 { if (SET_POINTER_SIZE)(DOPE).ptr64.base_addr = (RHS); \
00212 else (DOPE).ptr32.base_addr = (RHS); }
00213 # define DV_SET_EL_LEN(DOPE,RHS) \
00214 { if (SET_POINTER_SIZE)(DOPE).ptr64.el_len = (RHS); \
00215 else (DOPE).ptr32.el_len = (RHS); }
00216 # define DV_SET_ASSOC(DOPE,RHS) \
00217 { if (SET_POINTER_SIZE)(DOPE).ptr64.assoc = (RHS); \
00218 else (DOPE).ptr32.assoc = (RHS); }
00219 # define DV_SET_PTR_ALLOC(DOPE,RHS) \
00220 { if (SET_POINTER_SIZE)(DOPE).ptr64.ptr_alloc = (RHS); \
00221 else (DOPE).ptr32.ptr_alloc = (RHS); }
00222 # define DV_SET_P_OR_A(DOPE,RHS) \
00223 { if (SET_POINTER_SIZE)(DOPE).ptr64.p_or_a = (RHS); \
00224 else (DOPE).ptr32.p_or_a = (RHS); }
00225 # define DV_SET_A_CONTIG(DOPE,RHS) \
00226 { if (SET_POINTER_SIZE)(DOPE).ptr64.a_contig = (RHS); \
00227 else (DOPE).ptr32.a_contig = (RHS); }
00228 # define DV_SET_NUM_DIMS(DOPE,RHS) \
00229 { if (SET_POINTER_SIZE)(DOPE).ptr64.num_dims = (RHS); \
00230 else (DOPE).ptr32.num_dims = (RHS); }
00231 # define DV_SET_TYPE_CODE(DOPE,RHS) \
00232 { if (SET_POINTER_SIZE)(DOPE).ptr64.type_code = (RHS); \
00233 else (DOPE).ptr32.type_code = (RHS); }
00234 # define DV_SET_UNUSED_1(DOPE,RHS) \
00235 { if (SET_POINTER_SIZE)(DOPE).ptr64.unused_1 = (RHS); \
00236 else (DOPE).ptr32.unused_1 = (RHS); }
00237 # define DV_SET_UNUSED_2(DOPE,RHS) \
00238 { if (SET_POINTER_SIZE)(DOPE).ptr64.unused_2 = (RHS); \
00239 else (DOPE).ptr32.unused_2 = (RHS); }
00240 # define DV_SET_UNUSED_3(DOPE,RHS) \
00241 { if (SET_POINTER_SIZE)(DOPE).ptr64.unused_3 = (RHS); \
00242 else (DOPE).ptr32.unused_3 = (RHS); }
00243 # define DV_SET_ORIG_BASE(DOPE,RHS) \
00244 { if (SET_POINTER_SIZE)(DOPE).ptr64.orig_base = (RHS); \
00245 else (DOPE).ptr32.orig_base = (RHS); }
00246 # define DV_SET_ORIG_SIZE(DOPE,RHS) \
00247 { if (SET_POINTER_SIZE)(DOPE).ptr64.orig_size = (RHS); \
00248 else (DOPE).ptr32.orig_size = (RHS); }
00249 # define DV_SET_LOW_BOUND(DOPE,IDX,RHS) \
00250 { if (SET_POINTER_SIZE)(DOPE).ptr64.dim[IDX].low_bound = (RHS); \
00251 else (DOPE).ptr32.dim[IDX].low_bound = (RHS); }
00252 # define DV_SET_EXTENT(DOPE,IDX,RHS) \
00253 { if (SET_POINTER_SIZE)(DOPE).ptr64.dim[IDX].extent = (RHS); \
00254 else (DOPE).ptr32.dim[IDX].extent = (RHS); }
00255 # define DV_SET_STRIDE_MULT(DOPE,IDX,RHS) \
00256 { if (SET_POINTER_SIZE)(DOPE).ptr64.dim[IDX].stride_mult = (RHS); \
00257 else (DOPE).ptr32.dim[IDX].stride_mult = (RHS); }
00258
00259 # else
00260
00261 #ifdef KEY
00262 # define DV_ALLOC_CPNT_OFFSET_WORD_SIZE 1
00263 #endif
00264
00265 # define DV_DIM_WORD_SIZE 3
00266 # define DV_HD_WORD_SIZE 6
00267
00268
00269 # define DV_BITS_PER_WORD TARGET_BITS_PER_WORD
00270 # define INTEGER_DEFAULT_BITS TARGET_BITS_PER_WORD
00271
00272 # define DV_BASE_ADDR(DOPE) (DOPE).base_addr
00273 # define DV_EL_LEN(DOPE) (DOPE).el_len
00274 # define DV_ASSOC(DOPE) (DOPE).assoc
00275 # define DV_PTR_ALLOC(DOPE) (DOPE).ptr_alloc
00276 # define DV_P_OR_A(DOPE) (DOPE).p_or_a
00277 # define DV_A_CONTIG(DOPE) (DOPE).a_contig
00278 # define DV_NUM_DIMS(DOPE) (DOPE).num_dims
00279 # define DV_TYPE_CODE(DOPE) (DOPE).type_code
00280 # define DV_UNUSED_1(DOPE) (DOPE).unused_1
00281 # define DV_UNUSED_2(DOPE) (DOPE).unused_2
00282 # define DV_UNUSED_3(DOPE) (DOPE).unused_3
00283 # define DV_ORIG_BASE(DOPE) (DOPE).orig_base
00284 # define DV_ORIG_SIZE(DOPE) (DOPE).orig_size
00285 # define DV_LOW_BOUND(DOPE,IDX) (DOPE).dim[IDX].low_bound
00286 # define DV_EXTENT(DOPE,IDX) (DOPE).dim[IDX].extent
00287 # define DV_STRIDE_MULT(DOPE,IDX) (DOPE).dim[IDX].stride_mult
00288
00289
00290 # define DV_SET_BASE_ADDR(DOPE,RHS) (DOPE).base_addr = (RHS)
00291 # define DV_SET_EL_LEN(DOPE,RHS) (DOPE).el_len = (RHS)
00292 # define DV_SET_ASSOC(DOPE,RHS) (DOPE).assoc = (RHS)
00293 # define DV_SET_PTR_ALLOC(DOPE,RHS) (DOPE).ptr_alloc = (RHS)
00294 # define DV_SET_P_OR_A(DOPE,RHS) (DOPE).p_or_a = (RHS)
00295 # define DV_SET_A_CONTIG(DOPE,RHS) (DOPE).a_contig = (RHS)
00296 # define DV_SET_NUM_DIMS(DOPE,RHS) (DOPE).num_dims = (RHS)
00297 # define DV_SET_TYPE_CODE(DOPE,RHS) (DOPE).type_code = (RHS)
00298 # define DV_SET_UNUSED_1(DOPE,RHS) (DOPE).unused_1 = (RHS)
00299 # define DV_SET_UNUSED_2(DOPE,RHS) (DOPE).unused_2 = (RHS)
00300 # define DV_SET_UNUSED_3(DOPE,RHS) (DOPE).unused_3 = (RHS)
00301 # define DV_SET_ORIG_BASE(DOPE,RHS) (DOPE).orig_base = (RHS)
00302 # define DV_SET_ORIG_SIZE(DOPE,RHS) (DOPE).orig_size = (RHS)
00303 # define DV_SET_LOW_BOUND(DOPE,IDX,RHS) (DOPE).dim[IDX].low_bound = (RHS)
00304 # define DV_SET_EXTENT(DOPE,IDX,RHS) (DOPE).dim[IDX].extent = (RHS)
00305 # define DV_SET_STRIDE_MULT(DOPE,IDX,RHS) (DOPE).dim[IDX].stride_mult = (RHS)
00306 # endif
00307
00308 # define MAX_GENERATED_LABELS 99999
00309 # define MAX_IMPL_CHS 26
00310 # define MAX_ALTERNATE_ENTRIES 65535
00311
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321 # define BD_LAST_USED_IDX 7
00322 # define CN_LAST_USED_IDX 7
00323 # define CP_LAST_USED_IDX 7
00324
00325 # define CS_LAST_USED_IDX 1000
00326
00327
00328 # define NP_LAST_USED_IDX 2
00329 # define TYP_LAST_USED_IDX Num_Linear_Types + 1
00330
00331 #ifdef KEY
00332
00333 #else
00334 # define MAX_INTRIN_TBL_SIZE 13400
00335 #endif
00336 # ifdef KEY
00337 # define MAX_INTRIN_MAP_SIZE 75
00338 # else
00339 # define MAX_INTRIN_MAP_SIZE 59
00340 # endif
00341
00342 # define MAX_INLINE_ARGS 256
00343
00344
00345 # define MAX_INLINE_LABELS 1000
00346
00347
00348 # define MAX_INLINE_IR 100000
00349
00350
00351 # define MAX_INLINED_ROUTINES 1000
00352
00353
00354
00355
00356
00357
00358
00359 # define STORAGE_WORD_SIZE(BIT_SIZE) (TARGET_BITS_TO_WORDS((BIT_SIZE)))
00360
00361
00362
00363
00364
00365
00366
00367
00368 # define AT_ACCESS_SET(IDX) attr_aux_tbl[IDX].fld.access_set
00369 # define AT_ACTUAL_ARG(IDX) attr_tbl[IDX].fld.passed_as_arg
00370 # define AT_ALT_DARG(IDX) attr_tbl[IDX].fld.alt_darg
00371 # define AT_ARG_TO_KIND(IDX) attr_aux_tbl[IDX].fld.arg_to_kind
00372 # define AT_ATTR_LINK(IDX) attr_tbl[IDX].fld.attr_link
00373 # define AT_CIF_DONE(IDX) attr_aux_tbl[IDX].fld.cif_done
00374 # define AT_CIF_IN_USAGE_REC(IDX) attr_aux_tbl[IDX].fld.cif_usage_rec
00375 # define AT_CIF_SYMBOL_ID(IDX) attr_aux_tbl[IDX].fld.cif_sym_id
00376 # define AT_CIF_USE_IN_BND(IDX) attr_aux_tbl[IDX].fld.cif_use_in_bnd
00377 # define AT_COMPILER_GEND(IDX) attr_tbl[IDX].fld.compiler_gend
00378 # define AT_DCL_ERR(IDX) attr_tbl[IDX].fld.dcl_err
00379 # define AT_DEF_LINE(IDX) attr_aux_tbl[IDX].fld.def_line
00380 # define AT_DEF_COLUMN(IDX) attr_aux_tbl[IDX].fld.def_column
00381 # define AT_DEF_IN_CHILD(IDX) attr_tbl[IDX].fld.def_in_child
00382 # define AT_DEFINED(IDX) attr_tbl[IDX].fld.defined
00383 # define AT_ELEMENTAL_INTRIN(IDX) attr_tbl[IDX].fld.elemental_intrin
00384 # define AT_HOST_ASSOCIATED(IDX) attr_tbl[IDX].fld.host_associated
00385 # define AT_IGNORE_ATTR_LINK(IDX) attr_tbl[IDX].fld.ignore_attr_link
00386 # define AT_IS_DARG(IDX) attr_tbl[IDX].fld.is_darg
00387 #ifdef KEY
00388
00389
00390
00391
00392 #endif
00393 # define AT_IS_INTRIN(IDX) attr_tbl[IDX].fld.is_intrin
00394 # define AT_LOCKED_IN(IDX) attr_aux_tbl[IDX].fld.locked_in
00395 # define AT_MODULE_IDX(IDX) attr_tbl[IDX].fld.module_idx
00396 # define AT_MODULE_OBJECT(IDX) attr_tbl[IDX].fld.module_object
00397 # define AT_NAME_IDX(IDX) attr_tbl[IDX].fld.name_idx
00398 # define AT_NAME_LEN(IDX) attr_tbl[IDX].fld.length
00399 # define AT_NAMELIST_OBJ(IDX) attr_tbl[IDX].fld.namelist_obj
00400 # define AT_NOT_VISIBLE(IDX) attr_tbl[IDX].fld.not_visible
00401 # define AT_OBJ_CLASS(IDX) attr_tbl[IDX].fld.object_class
00402 # define AT_OBJ_NAME(IDX) name_pool[AT_NAME_IDX(IDX)].name_char
00403 # define AT_OBJ_NAME_LONG(IDX) &(name_pool[AT_NAME_IDX(IDX)].name_long)
00404 # define AT_OBJ_NAME_PTR(IDX) &name_pool[AT_NAME_IDX(IDX)].name_char
00405 # define AT_OPTIONAL(IDX) attr_tbl[IDX].fld.optional
00406 # define AT_ORIG_MODULE_IDX(IDX) attr_tbl[IDX].fld.orig_module_idx
00407 # define AT_ORIG_NAME_IDX(IDX) attr_tbl[IDX].fld.orig_name_idx
00408 # define AT_ORIG_NAME_LEN(IDX) attr_tbl[IDX].fld.orig_name_len
00409 # define AT_ORIG_NAME_PTR(IDX) &name_pool[AT_ORIG_NAME_IDX(IDX)].name_char
00410 # define AT_ORIG_NAME(IDX) name_pool[AT_ORIG_NAME_IDX(IDX)].name_char
00411 # define AT_ORIG_NAME_LONG(IDX) &(name_pool[AT_ORIG_NAME_IDX(IDX)].name_long)
00412 # define AT_PRIVATE(IDX) attr_tbl[IDX].fld.private_access
00413 # define AT_REF_IN_CHILD(IDX) attr_tbl[IDX].fld.ref_in_child
00414 # define AT_REFERENCED(IDX) attr_tbl[IDX].fld.referenced
00415 # define AT_SEMANTICS_DONE(IDX) attr_aux_tbl[IDX].fld.semantics_done
00416 # define AT_TYPED(IDX) attr_tbl[IDX].fld.typed
00417 # define AT_USE_ASSOCIATED(IDX) attr_tbl[IDX].fld.use_associated
00418
00419
00420
00421 # define OLD_AT_HOST_ASSOCIATED(IDX) attr_tbl[IDX].old.host_associated
00422 # define OLD_AT_MODULE_IDX(IDX) attr_tbl[IDX].old.module_idx
00423 # define OLD_AT_MODULE_OBJECT(IDX) attr_tbl[IDX].old.module_object
00424 # define OLD_AT_NOT_VISIBLE(IDX) attr_tbl[IDX].old.not_visible
00425 # define OLD_AT_OBJ_CLASS(IDX) attr_tbl[IDX].old.object_class
00426 # define OLD_AT_USE_ASSOCIATED(IDX) attr_tbl[IDX].old.use_associated
00427
00428
00429
00430
00431
00432
00433 # define OLD_ATD_ALIGN_SYMBOL(IDX) attr_tbl[IDX].old.flag13
00434 # define OLD_ATD_ARRAY_IDX(IDX) attr_tbl[IDX].old.field5
00435 # define OLD_ATD_DISTRIBUTION_IDX(IDX) attr_tbl[IDX].old.field14
00436 # define OLD_ATD_FILL_SYMBOL(IDX) attr_tbl[IDX].old.flag14
00437 # define OLD_ATD_OFFSET_ASSIGNED(IDX) attr_tbl[IDX].old.flag16
00438 # define OLD_ATD_PE_ARRAY_IDX(IDX) attr_tbl[IDX].old.field15
00439 # define OLD_ATD_TYPE_IDX(IDX) attr_tbl[IDX].old.field1
00440 # define OLD_ATI_NUM_SPECIFICS(IDX) attr_tbl[IDX].old.field5
00441 # define OLD_ATL_CYCLE_LBL(IDX) attr_tbl[IDX].old.flag15
00442 # define OLD_ATL_DIRECTIVE_LIST(IDX) attr_tbl[IDX].fld2.field23
00443 # define OLD_ATL_NOTASK(IDX) attr_tbl[IDX].old.flag14
00444 # define OLD_ATL_PREFERVECTOR(IDX) attr_tbl[IDX].old.flag16
00445 # define OLD_ATL_TOP_OF_LOOP(IDX) attr_tbl[IDX].old.flag13
00446 # define OLD_ATP_EXPL_ITRFC(IDX) attr_tbl[IDX].old.flag14
00447 # define OLD_ATP_EXTERNAL_INTRIN(IDX) attr_tbl[IDX].old.flag16
00448 # define OLD_ATP_EXTRA_DARG(IDX) attr_tbl[IDX].old.flag15
00449 # define OLD_ATP_NUM_DARGS(IDX) attr_tbl[IDX].old.field5
00450 # define OLD_ATP_MOD_PATH_LEN(IDX) attr_tbl[IDX].old.field6
00451 # define OLD_ATP_SAVE_ALL(IDX) attr_tbl[IDX].old.flag13
00452
00453
00454
00455 # ifdef _DEBUG
00456 # define ATD_ALIGN_SYMBOL(IDX) \
00457 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00458 attr_tbl : sytb_var_error("ATD_ALIGN_SYMBOL", IDX)) \
00459 [IDX].fld.flag21
00460 # else
00461 # define ATD_ALIGN_SYMBOL(IDX) attr_tbl[IDX].fld.flag21
00462 # endif
00463
00464 # ifdef _DEBUG
00465 # define ATD_ALIGNMENT(IDX) \
00466 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00467 attr_tbl : sytb_var_error("ATD_ALIGNMENT", IDX)) \
00468 [IDX].fld2.alignment
00469 # else
00470 # define ATD_ALIGNMENT(IDX) attr_tbl[IDX].fld2.alignment
00471 # endif
00472
00473 # ifdef _DEBUG
00474 # define ATD_ALLOCATABLE(IDX) \
00475 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00476 attr_tbl : sytb_var_error("ATD_ALLOCATABLE", IDX)) \
00477 [IDX].fld.flag6
00478 # else
00479 # define ATD_ALLOCATABLE(IDX) attr_tbl[IDX].fld.flag6
00480 # endif
00481
00482 # ifdef _DEBUG
00483 # define ATD_ARRAY_IDX(IDX) \
00484 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00485 attr_tbl : sytb_var_error("ATD_ARRAY_IDX", IDX)) \
00486 [IDX].fld.field1
00487 # else
00488 # define ATD_ARRAY_IDX(IDX) attr_tbl[IDX].fld.field1
00489 # endif
00490
00491 # ifdef _DEBUG
00492 # define ATD_ASG_TMP(IDX) \
00493 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
00494 attr_tbl[IDX].fld.secondary_info == Compiler_Tmp) ? \
00495 attr_tbl : sytb_var_error("ATD_ASG_TMP", IDX)) \
00496 [IDX].fld.flag49
00497 # else
00498 # define ATD_ASG_TMP(IDX) attr_tbl[IDX].fld.flag49
00499 # endif
00500
00501 # ifdef _DEBUG
00502 # define ATD_ASSIGN_TMP_IDX(IDX) \
00503 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
00504 attr_tbl[IDX].fld.secondary_info == Variable) ? \
00505 attr_tbl : sytb_var_error("ATD_ASSIGN_TMP_IDX", IDX)) \
00506 [IDX].fld.field8
00507 # else
00508 # define ATD_ASSIGN_TMP_IDX(IDX) attr_tbl[IDX].fld.field8
00509 # endif
00510
00511 # ifdef _DEBUG
00512
00513 # define ATD_AUTO_BASE_IDX(IDX) \
00514 ((AT_OBJ_CLASS(IDX) == Data_Obj && attr_tbl[IDX].fld.flag12) ? \
00515 attr_tbl : sytb_var_error("ATD_AUTO_BASE_IDX", IDX)) \
00516 [IDX].fld.field13
00517 # else
00518 # define ATD_AUTO_BASE_IDX(IDX) attr_tbl[IDX].fld.field13
00519 # endif
00520
00521 # ifdef _DEBUG
00522 # define ATD_AUTOMATIC(IDX) \
00523 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00524 attr_tbl : sytb_var_error("ATD_AUTOMATIC", IDX)) \
00525 [IDX].fld.flag12
00526 # else
00527 # define ATD_AUTOMATIC(IDX) attr_tbl[IDX].fld.flag12
00528 # endif
00529
00530 # ifdef _DEBUG
00531 # define ATD_AUXILIARY(IDX) \
00532 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00533 attr_tbl : sytb_var_error("ATD_AUXILIARY", IDX)) \
00534 [IDX].fld.flag9
00535 # else
00536 # define ATD_AUXILIARY(IDX) attr_tbl[IDX].fld.flag9
00537 # endif
00538
00539 # ifdef _DEBUG
00540 # define ATD_BOUNDS_CHECK(IDX) \
00541 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00542 attr_tbl : sytb_var_error("ATD_BOUNDS_CHECK", IDX)) \
00543 [IDX].fld.flag31
00544 # else
00545 # define ATD_BOUNDS_CHECK(IDX) attr_tbl[IDX].fld.flag31
00546 # endif
00547
00548 # ifdef _DEBUG
00549 # define ATD_CACHE_ALIGN(IDX) \
00550 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00551 attr_tbl : sytb_var_error("ATD_CACHE_ALIGN", IDX)) \
00552 [IDX].fld.flag26
00553 # else
00554 # define ATD_CACHE_ALIGN(IDX) attr_tbl[IDX].fld.flag26
00555 # endif
00556
00557 # ifdef _DEBUG
00558 # define ATD_CACHE_BYPASS_ARRAY(IDX) \
00559 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00560 attr_tbl : sytb_var_error("ATD_CACHE_BYPASS_ARRAY", IDX)) \
00561 [IDX].fld.flag39
00562 # else
00563 # define ATD_CACHE_BYPASS_ARRAY(IDX) attr_tbl[IDX].fld.flag39
00564 # endif
00565
00566
00567 # ifdef _DEBUG
00568 # define ATD_CACHE_NOALLOC(IDX) \
00569 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00570 attr_tbl : sytb_var_error("ATD_CACHE_NOALLOC", IDX)) \
00571 [IDX].fld.flag43
00572 # else
00573 # define ATD_CACHE_NOALLOC(IDX) attr_tbl[IDX].fld.flag43
00574 # endif
00575
00576
00577 # ifdef _DEBUG
00578 # define ATD_CHAR_LEN_IN_DV(IDX) \
00579 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00580 attr_tbl : sytb_var_error("ATD_CHAR_LEN_IN_DV", IDX)) \
00581 [IDX].fld.flag11
00582 # else
00583 # define ATD_CHAR_LEN_IN_DV(IDX) attr_tbl[IDX].fld.flag11
00584 # endif
00585
00586
00587 # ifdef _DEBUG
00588 # define ATD_CLASS(IDX) \
00589 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00590 attr_tbl : sytb_var_error("ATD_CLASS", IDX)) \
00591 [IDX].fld.secondary_info
00592 # else
00593 # define ATD_CLASS(IDX) attr_tbl[IDX].fld.secondary_info
00594 # endif
00595
00596 # ifdef _DEBUG
00597 # define ATD_CONST_IDX(IDX) \
00598 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
00599 attr_tbl[IDX].fld.secondary_info == Constant) ? \
00600 attr_tbl : sytb_var_error("ATD_CONST_IDX", IDX)) \
00601 [IDX].fld.field4
00602 # else
00603 # define ATD_CONST_IDX(IDX) attr_tbl[IDX].fld.field4
00604 # endif
00605
00606 # ifdef _DEBUG
00607 # define ATD_COPY_ASSUMED_SHAPE(IDX) \
00608 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00609 attr_tbl : sytb_var_error("ATD_COPY_ASSUMED_SHAPE", IDX)) \
00610 [IDX].fld.flag36
00611 # else
00612 # define ATD_COPY_ASSUMED_SHAPE(IDX) attr_tbl[IDX].fld.flag36
00613 # endif
00614
00615 # ifdef _DEBUG
00616 # define ATD_CPNT_INIT_IDX(IDX) \
00617 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
00618 attr_tbl[IDX].fld.secondary_info == Struct_Component) ? \
00619 attr_tbl : sytb_var_error("ATD_CPNT_INIT_IDX", IDX)) \
00620 [IDX].fld.field4
00621 # else
00622 # define ATD_CPNT_INIT_IDX(IDX) attr_tbl[IDX].fld.field4
00623 # endif
00624
00625 # ifdef _DEBUG
00626 # define ATD_CPNT_OFFSET_IDX(IDX) \
00627 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
00628 attr_tbl[IDX].fld.secondary_info == Struct_Component) ? \
00629 attr_tbl : sytb_var_error("ATD_CPNT_OFFSET_IDX", IDX)) \
00630 [IDX].fld.field13
00631 # else
00632 # define ATD_CPNT_OFFSET_IDX(IDX) attr_tbl[IDX].fld.field13
00633 # endif
00634
00635 # ifdef _DEBUG
00636 # define ATD_DATA_INIT(IDX) \
00637 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00638 attr_tbl : sytb_var_error("ATD_DATA_INIT", IDX)) \
00639 [IDX].fld.flag2
00640 # else
00641 # define ATD_DATA_INIT(IDX) attr_tbl[IDX].fld.flag2
00642 # endif
00643
00644 # ifdef _DEBUG
00645 # define ATD_DCL_EQUIV(IDX) \
00646 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00647 attr_tbl : sytb_var_error("ATD_DCL_EQUIV", IDX)) \
00648 [IDX].fld.flag10
00649 # else
00650 # define ATD_DCL_EQUIV(IDX) attr_tbl[IDX].fld.flag10
00651 # endif
00652
00653 # ifdef _DEBUG
00654 # define ATD_DEFINING_ATTR_IDX(IDX) \
00655 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
00656 attr_tbl[IDX].fld.secondary_info == Compiler_Tmp) ? \
00657 attr_tbl : sytb_var_error("ATD_DEFINING_ATTR_IDX", IDX)) \
00658 [IDX].fld.field8
00659 # else
00660 # define ATD_DEFINING_ATTR_IDX(IDX) attr_tbl[IDX].fld.field8
00661 # endif
00662
00663 # ifdef _DEBUG
00664 # define ATD_DERIVED_TYPE_IDX(IDX) \
00665 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
00666 attr_tbl[IDX].fld.secondary_info == Struct_Component) ? \
00667 attr_tbl : sytb_var_error("ATD_DERIVED_TYPE_IDX", IDX)) \
00668 [IDX].fld.field8
00669 # else
00670 # define ATD_DERIVED_TYPE_IDX(IDX) attr_tbl[IDX].fld.field8
00671 # endif
00672
00673 # ifdef _DEBUG
00674 # define ATD_DISTRIBUTION_IDX(IDX) \
00675 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00676 attr_tbl : sytb_var_error("ATD_DISTRIBUTION_IDX", IDX)) \
00677 [IDX].fld2.distribution_idx
00678 # else
00679 # define ATD_DISTRIBUTION_IDX(IDX) attr_tbl[IDX].fld2.distribution_idx
00680 # endif
00681
00682 # ifdef _DEBUG
00683 # define ATD_WAS_SCOPED(IDX) \
00684 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00685 attr_tbl : sytb_var_error("ATD_WAS_SCOPED", IDX)) \
00686 [IDX].fld.flag45
00687 # else
00688 # define ATD_WAS_SCOPED(IDX) attr_tbl[IDX].fld.flag45
00689 # endif
00690
00691 #ifdef KEY
00692 # ifdef _DEBUG
00693 # define AT_BIND_ATTR(IDX) \
00694 ((!(AT_OBJ_CLASS(IDX) == Data_Obj && \
00695 ATD_CLASS(IDX) == Dummy_Argument)) ? \
00696 attr_tbl : sytb_var_error("AT_BIND_ATTR", IDX)) \
00697 [IDX].fld.flag46
00698 # else
00699 # define AT_BIND_ATTR(IDX) attr_tbl[IDX].fld.flag46
00700 # endif
00701
00702 # ifdef _DEBUG
00703 # define ATD_VALUE_ATTR(IDX) \
00704 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
00705 ATD_CLASS(IDX) == Dummy_Argument) ? \
00706 attr_tbl : sytb_var_error("AT_VALUE_ATTR", IDX)) \
00707 [IDX].fld.flag46
00708 # else
00709 # define ATD_VALUE_ATTR(IDX) attr_tbl[IDX].fld.flag46
00710 # endif
00711
00712 #endif
00713
00714 # ifdef _DEBUG
00715 # define ATD_DV_ALIAS(IDX) \
00716 (((AT_OBJ_CLASS(IDX) == Data_Obj) && \
00717 ((comp_phase == Inlining) || (comp_phase == Pdg_Conversion))) ? \
00718 attr_aux_tbl : attr_aux_var_error("ATD_DV_ALIAS", IDX)) \
00719 [IDX].fld.field3
00720 # else
00721 # define ATD_DV_ALIAS(IDX) attr_aux_tbl[IDX].fld.field3
00722 # endif
00723
00724 # ifdef _DEBUG
00725 # define ATD_DYNAMIC(IDX) \
00726 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00727 attr_tbl : sytb_var_error("ATD_DYNAMIC", IDX)) \
00728 [IDX].fld.flag41
00729 # else
00730 # define ATD_DYNAMIC(IDX) attr_tbl[IDX].fld.flag41
00731 # endif
00732
00733 # ifdef _DEBUG
00734 # define ATD_ELEMENTAL_CALL_TMP(IDX) \
00735 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
00736 attr_tbl[IDX].fld.secondary_info == Compiler_Tmp) ? \
00737 attr_tbl : sytb_var_error("ATD_ELEMENTAL_CALL_TMP", IDX)) \
00738 [IDX].fld.flag50
00739 # else
00740 # define ATD_ELEMENTAL_CALL_TMP(IDX) attr_tbl[IDX].fld.flag50
00741 # endif
00742
00743
00744 # ifdef _DEBUG
00745 # define ATD_EQUIV(IDX) \
00746 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00747 attr_tbl : sytb_var_error("ATD_EQUIV", IDX)) \
00748 [IDX].fld.flag8
00749 # else
00750 # define ATD_EQUIV(IDX) attr_tbl[IDX].fld.flag8
00751 # endif
00752
00753 # ifdef _DEBUG
00754 # define ATD_EQUIV_IN_BNDS_EXPR(IDX) \
00755 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00756 attr_aux_tbl:attr_aux_var_error("ATD_EQUIV_IN_BNDS_EXPR", IDX))\
00757 [IDX].fld.flag5
00758 # else
00759 # define ATD_EQUIV_IN_BNDS_EXPR(IDX) attr_aux_tbl[IDX].fld.flag5
00760 # endif
00761
00762 # ifdef _DEBUG
00763 # define ATD_EQUIV_LIST(IDX) \
00764 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00765 attr_aux_tbl : attr_aux_var_error("ATD_EQUIV_LIST", IDX)) \
00766 [IDX].fld.field2
00767 # else
00768 # define ATD_EQUIV_LIST(IDX) attr_aux_tbl[IDX].fld.field2
00769 # endif
00770
00771 # ifdef _DEBUG
00772 # define ATD_EXPR_EVAL_TMP(IDX) \
00773 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00774 attr_aux_tbl:attr_aux_var_error("ATD_EXPR_EVAL_TMP", IDX)) \
00775 [IDX].fld.flag2
00776 # else
00777 # define ATD_EXPR_EVAL_TMP(IDX) attr_aux_tbl[IDX].fld.flag2
00778 # endif
00779
00780 # ifdef _DEBUG
00781 # define ATD_FILL_SYMBOL(IDX) \
00782 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00783 attr_tbl : sytb_var_error("ATD_FILL_SYMBOL", IDX)) \
00784 [IDX].fld.flag22
00785 # else
00786 # define ATD_FILL_SYMBOL(IDX) attr_tbl[IDX].fld.flag22
00787 # endif
00788
00789 # ifdef _DEBUG
00790 # define ATD_FIRST_SEEN_IL_IDX(IDX) \
00791 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00792 attr_aux_tbl : attr_aux_var_error("ATD_FIRST_SEEN_IL_IDX",IDX))\
00793 [IDX].fld.field3
00794 # else
00795 # define ATD_FIRST_SEEN_IL_IDX(IDX) attr_aux_tbl[IDX].fld.field3
00796 # endif
00797
00798 # ifdef _DEBUG
00799 # define ATD_FLD(IDX) \
00800 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00801 attr_tbl : sytb_var_error("ATD_FLD", IDX)) \
00802 [IDX].fld.field2
00803 # else
00804 # define ATD_FLD(IDX) attr_tbl[IDX].fld.field2
00805 # endif
00806
00807 # ifdef _DEBUG
00808 # define ATD_FORALL_INDEX(IDX) \
00809 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00810 attr_aux_tbl : attr_aux_var_error("ATD_FORALL_INDEX", IDX)) \
00811 [IDX].fld.flag8
00812 # else
00813 # define ATD_FORALL_INDEX(IDX) attr_aux_tbl[IDX].fld.flag8
00814 # endif
00815
00816 # ifdef _DEBUG
00817 # define ATD_FUNC_IDX(IDX) \
00818 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
00819 attr_tbl[IDX].fld.secondary_info == Function_Result) ? \
00820 attr_tbl : sytb_var_error("ATD_FUNC_IDX", IDX)) \
00821 [IDX].fld.field4
00822 # else
00823 # define ATD_FUNC_IDX(IDX) attr_tbl[IDX].fld.field4
00824 # endif
00825
00826 # ifdef _DEBUG
00827 #ifdef KEY
00828 # define ATD_IGNORE_TKR(IDX) \
00829 ((AT_OBJ_CLASS(IDX) == Data_Obj || AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
00830 attr_tbl : sytb_var_error("ATD_IGNORE_TKR", IDX)) \
00831 [IDX].fld.flag48
00832 #else
00833 # define ATD_IGNORE_TKR(IDX) \
00834 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00835 attr_tbl : sytb_var_error("ATD_IGNORE_TKR", IDX)) \
00836 [IDX].fld.flag48
00837 #endif
00838 # else
00839 # define ATD_IGNORE_TKR(IDX) attr_tbl[IDX].fld.flag48
00840 # endif
00841
00842 # ifdef _DEBUG
00843 # define ATD_IM_A_DOPE(IDX) \
00844 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00845 attr_tbl : sytb_var_error("ATD_IM_A_DOPE", IDX)) \
00846 [IDX].fld.flag3
00847 # else
00848 # define ATD_IM_A_DOPE(IDX) attr_tbl[IDX].fld.flag3
00849 # endif
00850
00851 # ifdef _DEBUG
00852 # define ATD_IMP_DO_LCV(IDX) \
00853 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00854 attr_aux_tbl : attr_aux_var_error("ATD_IMP_DO_LCV", IDX)) \
00855 [IDX].fld.flag10
00856 # else
00857 # define ATD_IMP_DO_LCV(IDX) attr_aux_tbl[IDX].fld.flag10
00858 # endif
00859
00860 # ifdef _DEBUG
00861 # define ATD_IN_ASSIGN(IDX) \
00862 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00863 attr_aux_tbl : attr_aux_var_error("ATD_IN_ASSIGN", IDX)) \
00864 [IDX].fld.flag9
00865 # else
00866 # define ATD_IN_ASSIGN(IDX) attr_aux_tbl[IDX].fld.flag9
00867 # endif
00868
00869 # ifdef _DEBUG
00870 # define ATD_IN_COMMON(IDX) \
00871 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00872 attr_tbl : sytb_var_error("ATD_IN_COMMON", IDX)) \
00873 [IDX].fld.flag7
00874 # else
00875 # define ATD_IN_COMMON(IDX) attr_tbl[IDX].fld.flag7
00876 # endif
00877
00878 # ifdef _DEBUG
00879 # define ATD_INTENT(IDX) \
00880 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00881 attr_tbl : sytb_var_error("ATD_INTENT", IDX)) \
00882 [IDX].fld.field3
00883 # else
00884 # define ATD_INTENT(IDX) attr_tbl[IDX].fld.field3
00885 # endif
00886
00887 # ifdef _DEBUG
00888 # define ATD_INTRIN_DARG(IDX) \
00889 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
00890 attr_tbl[IDX].fld.secondary_info == Dummy_Argument) ? \
00891 attr_tbl : sytb_var_error("ATD_INTRIN_DARG", IDX)) \
00892 [IDX].fld.flag27
00893 # else
00894 # define ATD_INTRIN_DARG(IDX) attr_tbl[IDX].fld.flag27
00895 # endif
00896
00897 # ifdef _DEBUG
00898 # define ATD_INTRIN_DARG_TYPE(IDX) \
00899 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
00900 attr_tbl[IDX].fld.secondary_info == Dummy_Argument) ? \
00901 attr_tbl : sytb_var_error("ATD_INTRIN_DARG_TYPE", IDX)) \
00902 [IDX].fldd.field32_12
00903 # else
00904 # define ATD_INTRIN_DARG_TYPE(IDX) attr_tbl[IDX].fldd.field32_12
00905 # endif
00906
00907 # ifdef _DEBUG
00908 # define ATD_LCV_IS_CONST(IDX) \
00909 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00910 attr_tbl : sytb_var_error("ATD_LCV_IS_CONST", IDX)) \
00911 [IDX].fld.flag18
00912 # else
00913 # define ATD_LCV_IS_CONST(IDX) attr_tbl[IDX].fld.flag18
00914 # endif
00915
00916 # ifdef _DEBUG
00917 # define ATD_LIVE_DO_VAR(IDX) \
00918 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00919 attr_aux_tbl : attr_aux_var_error("ATD_LIVE_DO_VAR", IDX)) \
00920 [IDX].fld.flag1
00921 # else
00922 # define ATD_LIVE_DO_VAR(IDX) attr_aux_tbl[IDX].fld.flag1
00923 # endif
00924
00925 # ifdef _DEBUG
00926 # define ATD_NEXT_MEMBER_IDX(IDX) \
00927 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
00928 (attr_tbl[IDX].fld.secondary_info == Variable || \
00929 attr_tbl[IDX].fld.secondary_info == Compiler_Tmp)) ? \
00930 attr_tbl : sytb_var_error("ATD_NEXT_MEMBER_IDX", IDX)) \
00931 [IDX].fld.field16
00932 # else
00933 # define ATD_NEXT_MEMBER_IDX(IDX) attr_tbl[IDX].fld.field16
00934 # endif
00935
00936 # ifdef _DEBUG
00937 # define ATD_NO_ENTRY_LIST(IDX) \
00938 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00939 attr_aux_tbl : attr_aux_var_error("ATD_NO_ENTRY_LIST", IDX)) \
00940 [IDX].fld.field1
00941 # else
00942 # define ATD_NO_ENTRY_LIST(IDX) attr_aux_tbl[IDX].fld.field1
00943 # endif
00944
00945 # ifdef _DEBUG
00946 # define ATD_NOBOUNDS_CHECK(IDX) \
00947 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00948 attr_tbl : sytb_var_error("ATD_NOBOUNDS_CHECK", IDX)) \
00949 [IDX].fld.flag32
00950 # else
00951 # define ATD_NOBOUNDS_CHECK(IDX) attr_tbl[IDX].fld.flag32
00952 # endif
00953
00954 # ifdef _DEBUG
00955 # define ATD_NOT_PT_UNIQUE_MEM(IDX) \
00956 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00957 attr_tbl : sytb_var_error("ATD_NOT_PT_UNIQUE_MEM", IDX)) \
00958 [IDX].fld.flag51
00959 # else
00960 # define ATD_NOT_PT_UNIQUE_MEM(IDX) attr_tbl[IDX].fld.flag51
00961 # endif
00962
00963 # ifdef _DEBUG
00964 # define ATD_OFFSET_ASSIGNED(IDX) \
00965 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
00966 attr_tbl : sytb_var_error("ATD_OFFSET_ASSIGNED", IDX)) \
00967 [IDX].fld.flag40
00968 # else
00969 # define ATD_OFFSET_ASSIGNED(IDX) attr_tbl[IDX].fld.flag40
00970 # endif
00971
00972 # ifdef _DEBUG
00973 # define ATD_OFFSET_FLD(IDX) \
00974 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
00975 (attr_tbl[IDX].fld.secondary_info == Variable || \
00976 attr_tbl[IDX].fld.secondary_info == Function_Result || \
00977 attr_tbl[IDX].fld.secondary_info == Struct_Component || \
00978 attr_tbl[IDX].fld.secondary_info == Compiler_Tmp)) ? \
00979 attr_tbl : sytb_var_error("ATD_OFFSET_FLD", IDX)) \
00980 [IDX].fld2.field22
00981 # else
00982 # define ATD_OFFSET_FLD(IDX) attr_tbl[IDX].fld2.field22
00983 # endif
00984
00985 # ifdef _DEBUG
00986 # define ATD_OFFSET_IDX(IDX) \
00987 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
00988 (attr_tbl[IDX].fld.secondary_info == Variable || \
00989 attr_tbl[IDX].fld.secondary_info == Function_Result || \
00990 attr_tbl[IDX].fld.secondary_info == Compiler_Tmp)) ? \
00991 attr_tbl : sytb_var_error("ATD_OFFSET_IDX", IDX)) \
00992 [IDX].fld.field13
00993 # else
00994 # define ATD_OFFSET_IDX(IDX) attr_tbl[IDX].fld.field13
00995 # endif
00996
00997 # ifdef _DEBUG
00998 # define ATD_PARENT_OBJECT(IDX) \
00999 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01000 attr_aux_tbl : attr_aux_var_error("ATD_PARENT_OBJECT", IDX)) \
01001 [IDX].fld.flag7
01002 # else
01003 # define ATD_PARENT_OBJECT(IDX) attr_aux_tbl[IDX].fld.flag7
01004 # endif
01005
01006 # ifdef _DEBUG
01007 # define ATD_PE_ARRAY_IDX(IDX) \
01008 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01009 attr_tbl : sytb_var_error("ATD_PE_ARRAY_IDX", IDX)) \
01010 [IDX].fld.field10
01011 # else
01012 # define ATD_PE_ARRAY_IDX(IDX) attr_tbl[IDX].fld.field10
01013 # endif
01014
01015 # ifdef _DEBUG
01016 # define ATD_PERMUTATION(IDX) \
01017 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01018 attr_tbl : sytb_var_error("ATD_PERMUTATION", IDX)) \
01019 [IDX].fld.flag30
01020 # else
01021 # define ATD_PERMUTATION(IDX) attr_tbl[IDX].fld.flag30
01022 # endif
01023
01024 # ifdef _DEBUG
01025 # define ATD_POINTER(IDX) \
01026 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01027 attr_tbl : sytb_var_error("ATD_POINTER", IDX)) \
01028 [IDX].fld.flag5
01029 # else
01030 # define ATD_POINTER(IDX) attr_tbl[IDX].fld.flag5
01031 # endif
01032
01033 # ifdef _DEBUG
01034 # define ATD_PTR_ASSIGNED(IDX) \
01035 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01036 attr_tbl : sytb_var_error("ATD_PTR_ASSIGNED", IDX)) \
01037 [IDX].fld.flag20
01038 # else
01039 # define ATD_PTR_ASSIGNED(IDX) attr_tbl[IDX].fld.flag20
01040 # endif
01041
01042 # ifdef _DEBUG
01043 # define ATD_PTR_HALF_WORD(IDX) \
01044 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01045 attr_aux_tbl : attr_aux_var_error("ATD_PTR_HALF_WORD", IDX)) \
01046 [IDX].fld.flag3
01047 # else
01048 # define ATD_PTR_HALF_WORD(IDX) attr_aux_tbl[IDX].fld.flag3
01049 # endif
01050
01051 # ifdef _DEBUG
01052 # define ATD_PTR_IDX(IDX) \
01053 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
01054 attr_tbl[IDX].fld.secondary_info == CRI__Pointee) ? \
01055 attr_tbl : sytb_var_error("ATD_PTR_IDX", IDX)) \
01056 [IDX].fld.field8
01057 # else
01058 # define ATD_PTR_IDX(IDX) attr_tbl[IDX].fld.field8
01059 # endif
01060
01061 # ifdef _DEBUG
01062 # define ATD_PTR_TYPE_SET(IDX) \
01063 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01064 attr_aux_tbl : attr_aux_var_error("ATD_PTR_TYPE_SET", IDX)) \
01065 [IDX].fld.flag4
01066 # else
01067 # define ATD_PTR_TYPE_SET(IDX) attr_aux_tbl[IDX].fld.flag4
01068 # endif
01069
01070 # ifdef _DEBUG
01071 # define ATD_PURE(IDX) \
01072 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01073 attr_tbl : sytb_var_error("ATD_PURE", IDX)) \
01074 [IDX].fld.flag38
01075 # else
01076 # define ATD_PURE(IDX) attr_tbl[IDX].fld.flag38
01077 # endif
01078
01079 # ifdef _DEBUG
01080 # define ATD_READ_ONLY_VAR(IDX) \
01081 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01082 attr_tbl : sytb_var_error("ATD_READ_ONLY_VAR", IDX)) \
01083 [IDX].fld.flag52
01084 # else
01085 # define ATD_READ_ONLY_VAR(IDX) attr_tbl[IDX].fld.flag52
01086 # endif
01087
01088 # ifdef KEY
01089 # ifdef _DEBUG
01090 # define ATD_F2C_ABI_VAR(IDX) \
01091 ((AT_OBJ_CLASS(IDX) == Data_Obj || AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
01092 attr_tbl : sytb_var_error("ATD_F2C_ABI_VAR", IDX)) \
01093 [IDX].fld.flag57
01094 # else
01095 # define ATD_F2C_ABI_VAR(IDX) attr_tbl[IDX].fld.flag57
01096 # endif
01097 # endif
01098
01099 # ifdef _DEBUG
01100 # define ATD_SAVED(IDX) \
01101 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01102 attr_tbl : sytb_var_error("ATD_SAVED", IDX)) \
01103 [IDX].fld.flag4
01104 # else
01105 # define ATD_SAVED(IDX) attr_tbl[IDX].fld.flag4
01106 # endif
01107
01108 # ifdef _DEBUG
01109 # define ATD_SECTION_GP(IDX) \
01110 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01111 attr_tbl : sytb_var_error("ATD_SECTION_GP", IDX)) \
01112 [IDX].fld.flag19
01113 # else
01114 # define ATD_SECTION_GP(IDX) attr_tbl[IDX].fld.flag19
01115 # endif
01116
01117 # ifdef _DEBUG
01118 # define ATD_SECTION_NON_GP(IDX) \
01119 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01120 attr_tbl : sytb_var_error("ATD_SECTION_NON_GP", IDX)) \
01121 [IDX].fld.flag29
01122 # else
01123 # define ATD_SECTION_NON_GP(IDX) attr_tbl[IDX].fld.flag29
01124 # endif
01125
01126
01127 # ifdef _DEBUG
01128 # define ATD_SF_ARG_IDX(IDX) \
01129 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
01130 attr_tbl[IDX].fld.secondary_info == Dummy_Argument) ? \
01131 attr_tbl : sytb_var_error("ATD_SF_ARG_IDX", IDX)) \
01132 [IDX].fld.field4
01133 # else
01134 # define ATD_SF_ARG_IDX(IDX) attr_tbl[IDX].fld.field4
01135 # endif
01136
01137 # ifdef _DEBUG
01138 # define ATD_SF_DARG(IDX) \
01139 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
01140 attr_tbl[IDX].fld.secondary_info == Dummy_Argument) ? \
01141 attr_tbl : sytb_var_error("ATD_SF_DARG", IDX)) \
01142 [IDX].fld.flag28
01143 # else
01144 # define ATD_SF_DARG(IDX) attr_tbl[IDX].fld.flag28
01145 # endif
01146
01147 # ifdef _DEBUG
01148 # define ATD_SF_LINK(IDX) \
01149 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
01150 attr_tbl[IDX].fld.secondary_info == Dummy_Argument) ? \
01151 attr_tbl : sytb_var_error("ATD_SF_LINK", IDX)) \
01152 [IDX].fld.field13
01153 # else
01154 # define ATD_SF_LINK(IDX) attr_tbl[IDX].fld.field13
01155 # endif
01156
01157 # ifdef _DEBUG
01158 # define ATD_STACK(IDX) \
01159 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01160 attr_tbl : sytb_var_error("ATD_STACK", IDX)) \
01161 [IDX].fld.flag37
01162 # else
01163 # define ATD_STACK(IDX) attr_tbl[IDX].fld.flag37
01164 # endif
01165
01166 # ifdef _DEBUG
01167 # define ATD_STOR_BLK_IDX(IDX) \
01168 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01169 attr_tbl : sytb_var_error("ATD_STOR_BLK_IDX", IDX)) \
01170 [IDX].fld.field6
01171 # else
01172 # define ATD_STOR_BLK_IDX(IDX) attr_tbl[IDX].fld.field6
01173 # endif
01174
01175 # ifdef _DEBUG
01176 # define ATD_RESHAPE_ARRAY_IDX(IDX) \
01177 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01178 attr_tbl : sytb_var_error("ATD_RESHAPE_ARRAY_IDX", IDX)) \
01179 [IDX].fld.field7
01180 # else
01181 # define ATD_RESHAPE_ARRAY_IDX(IDX) attr_tbl[IDX].fld.field7
01182 # endif
01183
01184 # ifdef _DEBUG
01185 # define ATD_SYMMETRIC(IDX) \
01186 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01187 attr_tbl : sytb_var_error("ATD_SYMMETRIC", IDX)) \
01188 [IDX].fld.flag33
01189 # else
01190 # define ATD_SYMMETRIC(IDX) attr_tbl[IDX].fld.flag33
01191 # endif
01192
01193 # ifdef _DEBUG
01194 # define ATD_RESHAPE_ARRAY_OPT(IDX) \
01195 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01196 attr_tbl : sytb_var_error("ATD_RESHAPE_ARRAY_OPT", IDX)) \
01197 [IDX].fld.flag17
01198 # else
01199 # define ATD_RESHAPE_ARRAY_OPT(IDX) attr_tbl[IDX].fld.flag17
01200 # endif
01201
01202
01203
01204
01205
01206 # ifdef _DEBUG
01207 # define ATD_SEEN_AS_IO_LCV(IDX) \
01208 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01209 attr_tbl : sytb_var_error("ATD_SEEN_AS_IO_LCV", IDX)) \
01210 [IDX].fld.flag34
01211 # else
01212 # define ATD_SEEN_AS_IO_LCV(IDX) attr_tbl[IDX].fld.flag34
01213 # endif
01214
01215 # ifdef _DEBUG
01216 # define ATD_SEEN_AS_LCV(IDX) \
01217 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01218 attr_tbl : sytb_var_error("ATD_SEEN_AS_LCV", IDX)) \
01219 [IDX].fld.flag25
01220 # else
01221 # define ATD_SEEN_AS_LCV(IDX) attr_tbl[IDX].fld.flag25
01222 # endif
01223
01224 # ifdef _DEBUG
01225 # define ATD_SEEN_IN_IMP_DO(IDX) \
01226 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01227 attr_tbl : sytb_var_error("ATD_SEEN_IN_IMP_DO", IDX)) \
01228 [IDX].fld.flag23
01229 # else
01230 # define ATD_SEEN_IN_IMP_DO(IDX) attr_tbl[IDX].fld.flag23
01231 # endif
01232
01233 # ifdef _DEBUG
01234 # define ATD_SEEN_OUTSIDE_IMP_DO(IDX) \
01235 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01236 attr_tbl : sytb_var_error("ATD_SEEN_OUTSIDE_IMP_DO",IDX)) \
01237 [IDX].fld.flag24
01238 # else
01239 # define ATD_SEEN_OUTSIDE_IMP_DO(IDX) attr_tbl[IDX].fld.flag24
01240 # endif
01241
01242 # ifdef _DEBUG
01243 # define ATD_SYMBOLIC_CONSTANT(IDX) \
01244 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01245 attr_tbl : sytb_var_error("ATD_SYMBOLIC_CONSTANT", IDX)) \
01246 [IDX].fld.flag35
01247 # else
01248 # define ATD_SYMBOLIC_CONSTANT(IDX) attr_tbl[IDX].fld.flag35
01249 # endif
01250
01251 # ifdef _DEBUG
01252 # define ATD_TARGET(IDX) \
01253 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01254 attr_tbl : sytb_var_error("ATD_TARGET", IDX)) \
01255 [IDX].fld.flag1
01256 # else
01257 # define ATD_TARGET(IDX) attr_tbl[IDX].fld.flag1
01258 # endif
01259
01260 # ifdef _DEBUG
01261 # define ATD_TASK_COPYIN(IDX) \
01262 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01263 attr_aux_tbl:attr_aux_var_error("ATD_TASK_COPYIN", IDX)) \
01264 [IDX].fld.flag18
01265 # else
01266 # define ATD_TASK_COPYIN(IDX) attr_aux_tbl[IDX].fld.flag18
01267 # endif
01268
01269 # ifdef _DEBUG
01270 # define ATD_TASK_GETFIRST(IDX) \
01271 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01272 attr_aux_tbl:attr_aux_var_error("ATD_TASK_GETFIRST", IDX)) \
01273 [IDX].fld.flag13
01274 # else
01275 # define ATD_TASK_GETFIRST(IDX) attr_aux_tbl[IDX].fld.flag13
01276 # endif
01277
01278 # ifdef _DEBUG
01279 # define ATD_TASK_FIRSTPRIVATE(IDX) \
01280 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01281 attr_aux_tbl:attr_aux_var_error("ATD_TASK_FIRSTPRIVATE", IDX)) \
01282 [IDX].fld.flag17
01283 # else
01284 # define ATD_TASK_FIRSTPRIVATE(IDX) attr_aux_tbl[IDX].fld.flag17
01285 # endif
01286
01287 # ifdef _DEBUG
01288 # define ATD_TASK_LASTLOCAL(IDX) \
01289 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01290 attr_aux_tbl:attr_aux_var_error("ATD_TASK_LASTLOCAL", IDX)) \
01291 [IDX].fld.flag14
01292 # else
01293 # define ATD_TASK_LASTLOCAL(IDX) attr_aux_tbl[IDX].fld.flag14
01294 # endif
01295
01296 # ifdef _DEBUG
01297 # define ATD_TASK_LASTPRIVATE(IDX) \
01298 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01299 attr_aux_tbl:attr_aux_var_error("ATD_TASK_LASTPRIVATE", IDX)) \
01300 [IDX].fld.flag19
01301 # else
01302 # define ATD_TASK_LASTPRIVATE(IDX) attr_aux_tbl[IDX].fld.flag19
01303 # endif
01304
01305
01306 # ifdef _DEBUG
01307 # define ATD_TASK_COPYPRIVATE(IDX) \
01308 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01309 attr_aux_tbl:attr_aux_var_error("ATD_TASK_COPYPRIVATE", IDX)) \
01310 [IDX].fld.flag20
01311 # else
01312 # define ATD_TASK_COPYPRIVATE(IDX) attr_aux_tbl[IDX].fld.flag20
01313 # endif
01314
01315 # ifdef _DEBUG
01316 # define ATD_TASK_LASTTHREAD(IDX) \
01317 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01318 attr_aux_tbl:attr_aux_var_error("ATD_TASK_LASTTHREAD", IDX)) \
01319 [IDX].fld.flag16
01320 # else
01321 # define ATD_TASK_LASTTHREAD(IDX) attr_aux_tbl[IDX].fld.flag16
01322 # endif
01323
01324 # ifdef _DEBUG
01325 # define ATD_TASK_PRIVATE(IDX) \
01326 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01327 attr_aux_tbl:attr_aux_var_error("ATD_TASK_PRIVATE", IDX)) \
01328 [IDX].fld.flag12
01329 # else
01330 # define ATD_TASK_PRIVATE(IDX) attr_aux_tbl[IDX].fld.flag12
01331 # endif
01332
01333 # ifdef _DEBUG
01334 # define ATD_TASK_REDUCTION(IDX) \
01335 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01336 attr_aux_tbl:attr_aux_var_error("ATD_TASK_REDUCTION", IDX)) \
01337 [IDX].fld.flag15
01338 # else
01339 # define ATD_TASK_REDUCTION(IDX) attr_aux_tbl[IDX].fld.flag15
01340 # endif
01341
01342 # ifdef _DEBUG
01343 # define ATD_TASK_SHARED(IDX) \
01344 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01345 attr_aux_tbl:attr_aux_var_error("ATD_TASK_SHARED", IDX)) \
01346 [IDX].fld.flag11
01347 # else
01348 # define ATD_TASK_SHARED(IDX) attr_aux_tbl[IDX].fld.flag11
01349 # endif
01350
01351 # ifdef _DEBUG
01352 # define ATD_TMP_GEN_ZERO(IDX) \
01353 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
01354 attr_tbl[IDX].fld.secondary_info == Compiler_Tmp) ? \
01355 attr_tbl : sytb_var_error("ATD_TMP_GEN_ZERO", IDX)) \
01356 [IDX].fld.flag28
01357 # else
01358 # define ATD_TMP_GEN_ZERO(IDX) attr_tbl[IDX].fld.flag28
01359 # endif
01360
01361 # ifdef _DEBUG
01362 # define ATD_TMP_HAS_CVRT_OPR(IDX) \
01363 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01364 attr_aux_tbl:attr_aux_var_error("ATD_TMP_HAS_CVRT_OPR", IDX)) \
01365 [IDX].fld.flag6
01366 # else
01367 # define ATD_TMP_HAS_CVRT_OPR(IDX) attr_aux_tbl[IDX].fld.flag6
01368 # endif
01369
01370 # ifdef _DEBUG
01371 # define ATD_TMP_IDX(IDX) \
01372 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
01373 attr_tbl[IDX].fld.secondary_info == Compiler_Tmp) ? \
01374 attr_tbl : sytb_var_error("ATD_TMP_IDX", IDX)) \
01375 [IDX].fld.field4
01376 # else
01377 # define ATD_TMP_IDX(IDX) attr_tbl[IDX].fld.field4
01378 # endif
01379
01380 # ifdef _DEBUG
01381 # define ATD_TMP_INIT_NOT_DONE(IDX) \
01382 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
01383 attr_tbl[IDX].fld.secondary_info == Compiler_Tmp) ? \
01384 attr_tbl : sytb_var_error("ATD_TMP_INIT_NOT_DONE", IDX)) \
01385 [IDX].fld.flag26
01386 # else
01387 # define ATD_TMP_INIT_NOT_DONE(IDX) attr_tbl[IDX].fld.flag26
01388 # endif
01389
01390 # ifdef _DEBUG
01391 # define ATD_TMP_NEEDS_CIF(IDX) \
01392 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
01393 attr_tbl[IDX].fld.secondary_info == Compiler_Tmp) ? \
01394 attr_tbl : sytb_var_error("ATD_TMP_NEEDS_CIF", IDX)) \
01395 [IDX].fld.flag34
01396 # else
01397 # define ATD_TMP_NEEDS_CIF(IDX) attr_tbl[IDX].fld.flag34
01398 # endif
01399
01400 # ifdef _DEBUG
01401 # define ATD_TMP_SEMANTICS_DONE(IDX) \
01402 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
01403 attr_tbl[IDX].fld.secondary_info == Compiler_Tmp) ? \
01404 attr_tbl : sytb_var_error("ATD_TMP_SEMANTICS_DONE", IDX)) \
01405 [IDX].fld.flag27
01406 # else
01407 # define ATD_TMP_SEMANTICS_DONE(IDX) attr_tbl[IDX].fld.flag27
01408 # endif
01409
01410 # ifdef _DEBUG
01411 # define ATD_TOO_BIG_FOR_DV(IDX) \
01412 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01413 attr_tbl : sytb_var_error("ATD_TOO_BIG_FOR_DV", IDX)) \
01414 [IDX].fld.flag44
01415 # else
01416 # define ATD_TOO_BIG_FOR_DV(IDX) attr_tbl[IDX].fld.flag44
01417 # endif
01418
01419
01420 # ifdef _DEBUG
01421 # define ATD_TYPE_IDX(IDX) \
01422 ((AT_OBJ_CLASS(IDX) == Data_Obj || \
01423 AT_OBJ_CLASS(IDX) == Interface || \
01424 AT_OBJ_CLASS(IDX) == Stmt_Func) ? \
01425 attr_tbl : sytb_var_error("ATD_TYPE_IDX", IDX)) \
01426 [IDX].fld.field5
01427 # else
01428 # define ATD_TYPE_IDX(IDX) attr_tbl[IDX].fld.field5
01429 # endif
01430
01431 # ifdef _DEBUG
01432 # define ATD_VARIABLE_TMP_IDX(IDX) \
01433 ((AT_OBJ_CLASS(IDX) == Data_Obj && \
01434 attr_tbl[IDX].fld.secondary_info == Variable) ? \
01435 attr_tbl : sytb_var_error("ATD_VARIABLE_TMP_IDX", IDX)) \
01436 [IDX].fld.field4
01437 # else
01438 # define ATD_VARIABLE_TMP_IDX(IDX) attr_tbl[IDX].fld.field4
01439 # endif
01440
01441 # ifdef _DEBUG
01442 # define ATD_VOLATILE(IDX) \
01443 ((AT_OBJ_CLASS(IDX) == Data_Obj) ? \
01444 attr_tbl : sytb_var_error("ATD_VOLATILE", IDX)) \
01445 [IDX].fld.flag42
01446 # else
01447 # define ATD_VOLATILE(IDX) attr_tbl[IDX].fld.flag42
01448 # endif
01449
01450
01451
01452
01453 # ifdef _DEBUG
01454 # define ATI_CIF_SCOPE_ID(IDX) \
01455 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01456 attr_aux_tbl : attr_aux_var_error("ATI_CIF_SCOPE_ID", IDX)) \
01457 [IDX].fld.field3
01458 # else
01459 # define ATI_CIF_SCOPE_ID(IDX) attr_aux_tbl[IDX].fld.field3
01460 # endif
01461
01462 # ifdef _DEBUG
01463 # define ATI_CIF_SEEN_IN_CALL(IDX) \
01464 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01465 attr_tbl : sytb_var_error("ATI_CIF_SEEN_IN_CALL", IDX)) \
01466 [IDX].fld.flag5
01467 # else
01468 # define ATI_CIF_SEEN_IN_CALL(IDX) attr_tbl[IDX].fld.flag5
01469 # endif
01470
01471 # ifdef _DEBUG
01472 # define ATI_DCL_INTRINSIC(IDX) \
01473 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01474 attr_tbl : sytb_var_error("ATI_DCL_INTRINSIC", IDX)) \
01475 [IDX].fld.flag3
01476 # else
01477 # define ATI_DCL_INTRINSIC(IDX) attr_tbl[IDX].fld.flag3
01478 # endif
01479
01480 # ifdef _DEBUG
01481 # define ATI_DEFINED_OPR(IDX) \
01482 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01483 attr_tbl : sytb_var_error("ATI_DEFINED_OPR", IDX)) \
01484 [IDX].fld.field6
01485 # else
01486 # define ATI_DEFINED_OPR(IDX) attr_tbl[IDX].fld.field6
01487 # endif
01488
01489 # ifdef _DEBUG
01490 # define ATI_FIRST_SPECIFIC_IDX(IDX) \
01491 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01492 attr_tbl : sytb_var_error("ATI_FIRST_SPECIFIC_IDX", IDX)) \
01493 [IDX].fld.field10
01494 # else
01495 # define ATI_FIRST_SPECIFIC_IDX(IDX) attr_tbl[IDX].fld.field10
01496 # endif
01497
01498 # ifdef _DEBUG
01499 # define ATI_GENERIC_INTRINSIC(IDX) \
01500 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01501 attr_tbl : sytb_var_error("ATI_GENERIC_INTRINSIC", IDX)) \
01502 [IDX].fld.flag7
01503 # else
01504 # define ATI_GENERIC_INTRINSIC(IDX) attr_tbl[IDX].fld.flag7
01505 # endif
01506
01507 # ifdef _DEBUG
01508 # define ATI_HAS_NON_MOD_PROC(IDX) \
01509 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01510 attr_tbl : sytb_var_error("ATI_HAS_NON_MOD_PROC", IDX)) \
01511 [IDX].fld.flag6
01512 # else
01513 # define ATI_HAS_NON_MOD_PROC(IDX) attr_tbl[IDX].fld.flag6
01514 # endif
01515
01516 # ifdef _DEBUG
01517 # define ATI_INLINE_ALWAYS(IDX) \
01518 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01519 attr_tbl : sytb_var_error("ATI_INLINE_ALWAYS", IDX)) \
01520 [IDX].fld.flag8
01521 # else
01522 # define ATI_INLINE_ALWAYS(IDX) attr_tbl[IDX].fld.flag8
01523 # endif
01524
01525 # ifdef _DEBUG
01526 # define ATI_INLINE_NEVER(IDX) \
01527 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01528 attr_tbl : sytb_var_error("ATI_INLINE_NEVER", IDX)) \
01529 [IDX].fld.flag9
01530 # else
01531 # define ATI_INLINE_NEVER(IDX) attr_tbl[IDX].fld.flag9
01532 # endif
01533
01534 # ifdef _DEBUG
01535 # define ATI_IPA_DIR_SPECIFIED(IDX) \
01536 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01537 attr_tbl : sytb_var_error("ATI_IPA_DIR_SPECIFIED", IDX)) \
01538 [IDX].fld.flag12
01539 # else
01540 # define ATI_IPA_DIR_SPECIFIED(IDX) attr_tbl[IDX].fld.flag12
01541 # endif
01542
01543 # ifdef _DEBUG
01544 # define ATI_INTERFACE_CLASS(IDX) \
01545 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01546 attr_tbl : sytb_var_error("ATI_INTERFACE_CLASS", IDX)) \
01547 [IDX].fld.secondary_info
01548 # else
01549 # define ATI_INTERFACE_CLASS(IDX) attr_tbl[IDX].fld.secondary_info
01550 # endif
01551
01552 # ifdef _DEBUG
01553 # define ATI_INTRIN_PASSABLE(IDX) \
01554 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01555 attr_tbl : sytb_var_error("ATI_INTRIN_PASSABLE", IDX)) \
01556 [IDX].fld.flag1
01557 # else
01558 # define ATI_INTRIN_PASSABLE(IDX) attr_tbl[IDX].fld.flag1
01559 # endif
01560
01561 # ifdef _DEBUG
01562 # define ATI_INTRIN_TBL_IDX(IDX) \
01563 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01564 attr_tbl : sytb_var_error("ATI_INTRIN_TBL_IDX", IDX)) \
01565 [IDX].fld.field13
01566 # else
01567 # define ATI_INTRIN_TBL_IDX(IDX) attr_tbl[IDX].fld.field13
01568 # endif
01569
01570 # ifdef _DEBUG
01571 # define ATI_NUM_SPECIFICS(IDX) \
01572 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01573 attr_tbl : sytb_var_error("ATI_NUM_SPECIFICS", IDX)) \
01574 [IDX].fld.field14
01575 # else
01576 # define ATI_NUM_SPECIFICS(IDX) attr_tbl[IDX].fld.field14
01577 # endif
01578
01579 # ifdef _DEBUG
01580 # define ATI_PROC_IDX(IDX) \
01581 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01582 attr_tbl : sytb_var_error("ATI_PROC_IDX", IDX)) \
01583 [IDX].fld.field8
01584 # else
01585 # define ATI_PROC_IDX(IDX) attr_tbl[IDX].fld.field8
01586 # endif
01587
01588 # ifdef _DEBUG
01589 # define ATI_SGI_ROUTINE_INLINE(IDX) \
01590 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01591 attr_tbl : sytb_var_error("ATI_SGI_ROUTINE_INLINE", IDX)) \
01592 [IDX].fld.flag10
01593 # else
01594 # define ATI_SGI_ROUTINE_INLINE(IDX) attr_tbl[IDX].fld.flag10
01595 # endif
01596
01597 # ifdef _DEBUG
01598 # define ATI_SGI_ROUTINE_NOINLINE(IDX) \
01599 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01600 attr_tbl : sytb_var_error("ATI_SGI_ROUTINE_NOINLINE", IDX)) \
01601 [IDX].fld.flag11
01602 # else
01603 # define ATI_SGI_ROUTINE_NOINLINE(IDX) attr_tbl[IDX].fld.flag11
01604 # endif
01605
01606 # ifdef _DEBUG
01607 # define ATI_UNNAMED_INTERFACE(IDX) \
01608 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01609 attr_tbl : sytb_var_error("ATI_UNNAMED_INTERFACE", IDX)) \
01610 [IDX].fld.flag2
01611 # else
01612 # define ATI_UNNAMED_INTERFACE(IDX) attr_tbl[IDX].fld.flag2
01613 # endif
01614
01615
01616 # ifdef _DEBUG
01617 # define ATI_USER_SPECIFIED(IDX) \
01618 ((AT_OBJ_CLASS(IDX) == Interface) ? \
01619 attr_tbl : sytb_var_error("ATI_USER_SPECIFIED", IDX)) \
01620 [IDX].fld.flag4
01621 # else
01622 # define ATI_USER_SPECIFIED(IDX) attr_tbl[IDX].fld.flag4
01623 # endif
01624
01625
01626
01627
01628 # ifdef _DEBUG
01629 # define ATL_AGGRESSIVEINNERLOOPFISSION(IDX) \
01630 ((AT_OBJ_CLASS(IDX) == Label) ? \
01631 attr_tbl:sytb_var_error("ATL_AGGRESSIVEINNERLOOPFISSION",IDX)) \
01632 [IDX].fld.flag31
01633 # else
01634 # define ATL_AGGRESSIVEINNERLOOPFISSION(IDX) attr_tbl[IDX].fld.flag31
01635 # endif
01636
01637 # ifdef _DEBUG
01638 # define ATL_ALIGN(IDX) \
01639 ((AT_OBJ_CLASS(IDX) == Label) ? \
01640 attr_tbl : sytb_var_error("ATL_ALIGN", IDX)) \
01641 [IDX].fld.flag12
01642 # else
01643 # define ATL_ALIGN(IDX) attr_tbl[IDX].fld.flag12
01644 # endif
01645
01646 # ifdef _DEBUG
01647 # define ATL_ASG_LBL_CHAIN_START(IDX) \
01648 ((AT_OBJ_CLASS(IDX) == Label) ? \
01649 attr_tbl : sytb_var_error("ATL_ASG_LBL_CHAIN_START", IDX)) \
01650 [IDX].fld.flag21
01651 # else
01652 # define ATL_ASG_LBL_CHAIN_START(IDX) attr_tbl[IDX].fld.flag21
01653 # endif
01654
01655 # ifdef _DEBUG
01656 # define ATL_BL(IDX) \
01657 ((AT_OBJ_CLASS(IDX) == Label) ? \
01658 attr_tbl : sytb_var_error("ATL_BL", IDX)) \
01659 [IDX].fld.flag11
01660 # else
01661 # define ATL_BL(IDX) attr_tbl[IDX].fld.flag11
01662 # endif
01663
01664 # ifdef _DEBUG
01665 # define ATL_BLK_STMT_IDX(IDX) \
01666 ((AT_OBJ_CLASS(IDX) == Label && \
01667 attr_tbl[IDX].fld.secondary_info <= Lbl_User) ? \
01668 attr_tbl : sytb_var_error("ATL_BLK_STMT_IDX", IDX)) \
01669 [IDX].fld.field10
01670 # else
01671 # define ATL_BLK_STMT_IDX(IDX) attr_tbl[IDX].fld.field10
01672 # endif
01673
01674 # ifdef _DEBUG
01675 # define ATL_CLASS(IDX) \
01676 ((AT_OBJ_CLASS(IDX) == Label) ? \
01677 attr_tbl : sytb_var_error("ATL_CLASS", IDX)) \
01678 [IDX].fld.secondary_info
01679 # else
01680 # define ATL_CLASS(IDX) attr_tbl[IDX].fld.secondary_info
01681 # endif
01682
01683 # ifdef _DEBUG
01684 # define ATL_CMIC_BLK_STMT_IDX(IDX) \
01685 ((AT_OBJ_CLASS(IDX) == Label && \
01686 attr_tbl[IDX].fld.secondary_info != Lbl_Format) ? \
01687 attr_tbl : sytb_var_error("ATL_CMIC_BLK_STMT_IDX", IDX)) \
01688 [IDX].fld.field4
01689 # else
01690 # define ATL_CMIC_BLK_STMT_IDX(IDX) attr_tbl[IDX].fld.field4
01691 # endif
01692
01693 # ifdef _DEBUG
01694 # define ATL_CONCURRENT(IDX) \
01695 ((AT_OBJ_CLASS(IDX) == Label) ? \
01696 attr_tbl : sytb_var_error("ATL_CONCURRENT", IDX)) \
01697 [IDX].fld.flag33
01698 # else
01699 # define ATL_CONCURRENT(IDX) attr_tbl[IDX].fld.flag33
01700 # endif
01701
01702 # ifdef _DEBUG
01703 # define ATL_CONSTRUCTOR_LOOP(IDX) \
01704 ((AT_OBJ_CLASS(IDX) == Label) ? \
01705 attr_tbl : sytb_var_error("ATL_CONSTRUCTOR_LOOP", IDX)) \
01706 [IDX].fld.flag34
01707 # else
01708 # define ATL_CONSTRUCTOR_LOOP(IDX) attr_tbl[IDX].fld.flag34
01709 # endif
01710
01711 # ifdef _DEBUG
01712 # define ATL_CNCALL(IDX) \
01713 ((AT_OBJ_CLASS(IDX) == Label) ? \
01714 attr_tbl : sytb_var_error("ATL_CNCALL", IDX)) \
01715 [IDX].fld.flag18
01716 # else
01717 # define ATL_CNCALL(IDX) attr_tbl[IDX].fld.flag18
01718 # endif
01719
01720 # ifdef _DEBUG
01721 # define ATL_CYCLE_LBL(IDX) \
01722 ((AT_OBJ_CLASS(IDX) == Label) ? \
01723 attr_tbl : sytb_var_error("ATL_CYCLE_LBL", IDX)) \
01724 [IDX].fld.flag38
01725 # else
01726 # define ATL_CYCLE_LBL(IDX) attr_tbl[IDX].fld.flag38
01727 # endif
01728
01729 # ifdef _DEBUG
01730 # define ATL_DEBUG_CLASS(IDX) \
01731 ((AT_OBJ_CLASS(IDX) == Label) ? \
01732 attr_tbl : sytb_var_error("ATL_DEBUG_CLASS", IDX)) \
01733 [IDX].fld.field2
01734 # else
01735 # define ATL_DEBUG_CLASS(IDX) attr_tbl[IDX].fld.field2
01736 # endif
01737
01738 # ifdef _DEBUG
01739 # define ATL_DEF_STMT_IDX(IDX) \
01740 ((AT_OBJ_CLASS(IDX) == Label && AT_DEFINED(IDX)) ? \
01741 attr_tbl : sytb_var_error("ATL_DEF_STMT_IDX", IDX)) \
01742 [IDX].fld.field13
01743 # else
01744 # define ATL_DEF_STMT_IDX(IDX) attr_tbl[IDX].fld.field13
01745 # endif
01746
01747 # ifdef _DEBUG
01748 # define ATL_CASE_LABEL(IDX) \
01749 ((AT_OBJ_CLASS(IDX) == Label) ? \
01750 attr_tbl : sytb_var_error("ATL_CASE_LABEL", IDX)) \
01751 [IDX].fld.flag25
01752 # else
01753 # define ATL_CASE_LABEL(IDX) attr_tbl[IDX].fld.flag25
01754 # endif
01755
01756 # ifdef _DEBUG
01757 # define ATL_DIRECTIVE_LIST(IDX) \
01758 ((AT_OBJ_CLASS(IDX) == Label) ? \
01759 attr_tbl : sytb_var_error("ATL_DIRECTIVE_LIST", IDX)) \
01760 [IDX].fld.field14
01761 # else
01762 # define ATL_DIRECTIVE_LIST(IDX) attr_tbl[IDX].fld.field14
01763 # endif
01764
01765 # ifdef _DEBUG
01766 # define ATL_EXECUTABLE(IDX) \
01767 ((AT_OBJ_CLASS(IDX) == Label) ? \
01768 attr_tbl : sytb_var_error("ATL_EXECUTABLE", IDX)) \
01769 [IDX].fld.flag2
01770 # else
01771 # define ATL_EXECUTABLE(IDX) attr_tbl[IDX].fld.flag2
01772 # endif
01773
01774 # ifdef _DEBUG
01775 # define ATL_FISSIONABLE(IDX) \
01776 ((AT_OBJ_CLASS(IDX) == Label) ? \
01777 attr_tbl : sytb_var_error("ATL_FISSIONABLE", IDX)) \
01778 [IDX].fld.flag26
01779 # else
01780 # define ATL_FISSIONABLE(IDX) attr_tbl[IDX].fld.flag26
01781 # endif
01782
01783 # ifdef _DEBUG
01784 # define ATL_FORMAT_TMP(IDX) \
01785 ((AT_OBJ_CLASS(IDX) == Label && \
01786 attr_tbl[IDX].fld.secondary_info == Lbl_Format) ? \
01787 attr_tbl : sytb_var_error("ATL_FORMAT_TMP", IDX)) \
01788 [IDX].fld.field10
01789 # else
01790 # define ATL_FORMAT_TMP(IDX) attr_tbl[IDX].fld.field10
01791 # endif
01792
01793 # ifdef _DEBUG
01794 # define ATL_FUSABLE(IDX) \
01795 ((AT_OBJ_CLASS(IDX) == Label) ? \
01796 attr_tbl : sytb_var_error("ATL_FUSABLE", IDX)) \
01797 [IDX].fld.flag28
01798 # else
01799 # define ATL_FUSABLE(IDX) attr_tbl[IDX].fld.flag28
01800 # endif
01801
01802 # ifdef _DEBUG
01803 # define ATL_FUSION(IDX) \
01804 ((AT_OBJ_CLASS(IDX) == Label) ? \
01805 attr_tbl : sytb_var_error("ATL_FUSION", IDX)) \
01806 [IDX].fld.flag35
01807 # else
01808 # define ATL_FUSION(IDX) attr_tbl[IDX].fld.flag35
01809 # endif
01810
01811 # ifdef _DEBUG
01812 # define ATL_FWD_REF_IDX(IDX) \
01813 ((AT_OBJ_CLASS(IDX) == Label && !(AT_DEFINED(IDX))) ? \
01814 attr_tbl : sytb_var_error("ATL_FWD_REF_IDX", IDX)) \
01815 [IDX].fld.field13
01816 # else
01817 # define ATL_FWD_REF_IDX(IDX) attr_tbl[IDX].fld.field13
01818 # endif
01819
01820 # ifdef _DEBUG
01821 # define ATL_IN_ASSIGN(IDX) \
01822 ((AT_OBJ_CLASS(IDX) == Label) ? \
01823 attr_tbl : sytb_var_error("ATL_IN_ASSIGN", IDX)) \
01824 [IDX].fld.flag1
01825 # else
01826 # define ATL_IN_ASSIGN(IDX) attr_tbl[IDX].fld.flag1
01827 # endif
01828
01829 # ifdef _DEBUG
01830 # define ATL_IN_ASSIGN_LBL_CHAIN(IDX) \
01831 ((AT_OBJ_CLASS(IDX) == Label) ? \
01832 attr_tbl : sytb_var_error("ATL_IN_ASSIGN_LBL_CHAIN", IDX)) \
01833 [IDX].fld.flag3
01834 # else
01835 # define ATL_IN_ASSIGN_LBL_CHAIN(IDX) attr_tbl[IDX].fld.flag3
01836 # endif
01837
01838 # ifdef _DEBUG
01839 # define ATL_IVDEP(IDX) \
01840 ((AT_OBJ_CLASS(IDX) == Label) ? \
01841 attr_tbl : sytb_var_error("ATL_IVDEP", IDX)) \
01842 [IDX].fld.flag4
01843 # else
01844 # define ATL_IVDEP(IDX) attr_tbl[IDX].fld.flag4
01845 # endif
01846
01847 # ifdef _DEBUG
01848 # define ATL_MAXCPUS(IDX) \
01849 ((AT_OBJ_CLASS(IDX) == Label) ? \
01850 attr_tbl : sytb_var_error("ATL_MAXCPUS", IDX)) \
01851 [IDX].fld.flag23
01852 # else
01853 # define ATL_MAXCPUS(IDX) attr_tbl[IDX].fld.flag23
01854 # endif
01855
01856 # ifdef _DEBUG
01857 # define ATL_NEW_LBL_IDX(IDX) \
01858 ((AT_OBJ_CLASS(IDX) == Label && \
01859 attr_tbl[IDX].fld.secondary_info == Lbl_Internal) ? \
01860 attr_tbl : sytb_var_error("ATL_NEW_LBL_IDX", IDX)) \
01861 [IDX].fld.field10
01862 # else
01863 # define ATL_NEW_LBL_IDX(IDX) attr_tbl[IDX].fld.field10
01864 # endif
01865
01866 # ifdef _DEBUG
01867 # define ATL_NEXT_ASG_LBL_IDX(IDX) \
01868 ((AT_OBJ_CLASS(IDX) == Label) ? \
01869 attr_tbl : sytb_var_error("ATL_NEXT_ASG_LBL_IDX", IDX)) \
01870 [IDX].fld.field8
01871 # else
01872 # define ATL_NEXT_ASG_LBL_IDX(IDX) attr_tbl[IDX].fld.field8
01873 # endif
01874
01875 # ifdef _DEBUG
01876 # define ATL_NEXTSCALAR(IDX) \
01877 ((AT_OBJ_CLASS(IDX) == Label) ? \
01878 attr_tbl : sytb_var_error("ATL_NEXTSCALAR", IDX)) \
01879 [IDX].fld.flag10
01880 # else
01881 # define ATL_NEXTSCALAR(IDX) attr_tbl[IDX].fld.flag10
01882 # endif
01883
01884 # ifdef _DEBUG
01885 # define ATL_NOBLOCKING(IDX) \
01886 ((AT_OBJ_CLASS(IDX) == Label) ? \
01887 attr_tbl : sytb_var_error("ATL_NOBLOCKING", IDX)) \
01888 [IDX].fld.flag32
01889 # else
01890 # define ATL_NOBLOCKING(IDX) attr_tbl[IDX].fld.flag32
01891 # endif
01892
01893 # ifdef _DEBUG
01894 # define ATL_NOFISSION(IDX) \
01895 ((AT_OBJ_CLASS(IDX) == Label) ? \
01896 attr_tbl : sytb_var_error("ATL_NOFISSION", IDX)) \
01897 [IDX].fld.flag27
01898 # else
01899 # define ATL_NOFISSION(IDX) attr_tbl[IDX].fld.flag27
01900 # endif
01901
01902 # ifdef _DEBUG
01903 # define ATL_NOFUSION(IDX) \
01904 ((AT_OBJ_CLASS(IDX) == Label) ? \
01905 attr_tbl : sytb_var_error("ATL_NOFUSION", IDX)) \
01906 [IDX].fld.flag29
01907 # else
01908 # define ATL_NOFUSION(IDX) attr_tbl[IDX].fld.flag29
01909 # endif
01910
01911 # ifdef _DEBUG
01912 # define ATL_NOINTERCHANGE(IDX) \
01913 ((AT_OBJ_CLASS(IDX) == Label) ? \
01914 attr_tbl : sytb_var_error("ATL_NOINTERCHANGE", IDX)) \
01915 [IDX].fld.flag30
01916 # else
01917 # define ATL_NOINTERCHANGE(IDX) attr_tbl[IDX].fld.flag30
01918 # endif
01919
01920 # ifdef _DEBUG
01921 # define ATL_NORECURRENCE(IDX) \
01922 ((AT_OBJ_CLASS(IDX) == Label) ? \
01923 attr_tbl : sytb_var_error("ATL_NORECURRENCE", IDX)) \
01924 [IDX].fld.flag5
01925 # else
01926 # define ATL_NORECURRENCE(IDX) attr_tbl[IDX].fld.flag5
01927 # endif
01928
01929 # ifdef _DEBUG
01930 # define ATL_NOTASK(IDX) \
01931 ((AT_OBJ_CLASS(IDX) == Label) ? \
01932 attr_tbl : sytb_var_error("ATL_NOTASK", IDX)) \
01933 [IDX].fld.flag37
01934 # else
01935 # define ATL_NOTASK(IDX) attr_tbl[IDX].fld.flag37
01936 # endif
01937
01938 # ifdef _DEBUG
01939 # define ATL_NOVECTOR(IDX) \
01940 ((AT_OBJ_CLASS(IDX) == Label) ? \
01941 attr_tbl : sytb_var_error("ATL_NOVECTOR", IDX)) \
01942 [IDX].fld.flag6
01943 # else
01944 # define ATL_NOVECTOR(IDX) attr_tbl[IDX].fld.flag6
01945 # endif
01946
01947 # ifdef _DEBUG
01948 # define ATL_NOVSEARCH(IDX) \
01949 ((AT_OBJ_CLASS(IDX) == Label) ? \
01950 attr_tbl : sytb_var_error("ATL_NOVSEARCH", IDX)) \
01951 [IDX].fld.flag9
01952 # else
01953 # define ATL_NOVSEARCH(IDX) attr_tbl[IDX].fld.flag9
01954 # endif
01955
01956 # ifdef _DEBUG
01957 # define ATL_PATTERN(IDX) \
01958 ((AT_OBJ_CLASS(IDX) == Label) ? \
01959 attr_tbl : sytb_var_error("ATL_PATTERN", IDX)) \
01960 [IDX].fld.flag24
01961 # else
01962 # define ATL_PATTERN(IDX) attr_tbl[IDX].fld.flag24
01963 # endif
01964
01965 # ifdef _DEBUG
01966 # define ATL_PERMUTATION(IDX) \
01967 ((AT_OBJ_CLASS(IDX) == Label) ? \
01968 attr_tbl : sytb_var_error("ATL_PERMUTATION", IDX)) \
01969 [IDX].fld.flag19
01970 # else
01971 # define ATL_PERMUTATION(IDX) attr_tbl[IDX].fld.flag19
01972 # endif
01973
01974 # ifdef _DEBUG
01975 # define ATL_PP_FORMAT_TMP(IDX) \
01976 ((AT_OBJ_CLASS(IDX) == Label && \
01977 attr_tbl[IDX].fld.secondary_info == Lbl_Format) ? \
01978 attr_tbl : sytb_var_error("ATL_PP_FORMAT_TMP", IDX)) \
01979 [IDX].fld.field4
01980 # else
01981 # define ATL_PP_FORMAT_TMP(IDX) attr_tbl[IDX].fld.field4
01982 # endif
01983
01984 # ifdef _DEBUG
01985 # define ATL_PREFERSTREAM(IDX) \
01986 ((AT_OBJ_CLASS(IDX) == Label) ? \
01987 attr_tbl : sytb_var_error("ATL_PREFERSTREAM", IDX)) \
01988 [IDX].fld.flag41
01989 # else
01990 # define ATL_PREFERSTREAM(IDX) attr_tbl[IDX].fld.flag41
01991 # endif
01992
01993 # ifdef _DEBUG
01994 # define ATL_PREFERSTREAM_NOCINV(IDX) \
01995 ((AT_OBJ_CLASS(IDX) == Label) ? \
01996 attr_tbl : sytb_var_error("ATL_PREFERSTREAM_NOCINV", IDX)) \
01997 [IDX].fld.flag43
01998 # else
01999 # define ATL_PREFERSTREAM_NOCINV(IDX) attr_tbl[IDX].fld.flag43
02000 # endif
02001
02002 # ifdef _DEBUG
02003 # define ATL_PREFERTASK(IDX) \
02004 ((AT_OBJ_CLASS(IDX) == Label) ? \
02005 attr_tbl : sytb_var_error("ATL_PREFERTASK", IDX)) \
02006 [IDX].fld.flag20
02007 # else
02008 # define ATL_PREFERTASK(IDX) attr_tbl[IDX].fld.flag20
02009 # endif
02010
02011 # ifdef _DEBUG
02012 # define ATL_PREFERVECTOR(IDX) \
02013 ((AT_OBJ_CLASS(IDX) == Label) ? \
02014 attr_tbl : sytb_var_error("ATL_PREFERVECTOR", IDX)) \
02015 [IDX].fld.flag39
02016 # else
02017 # define ATL_PREFERVECTOR(IDX) attr_tbl[IDX].fld.flag39
02018 # endif
02019
02020 # ifdef _DEBUG
02021 # define ATL_SHORTLOOP(IDX) \
02022 ((AT_OBJ_CLASS(IDX) == Label) ? \
02023 attr_tbl : sytb_var_error("ATL_SHORTLOOP", IDX)) \
02024 [IDX].fld.flag7
02025 # else
02026 # define ATL_SHORTLOOP(IDX) attr_tbl[IDX].fld.flag7
02027 # endif
02028
02029 # ifdef _DEBUG
02030 # define ATL_SHORTLOOP128(IDX) \
02031 ((AT_OBJ_CLASS(IDX) == Label) ? \
02032 attr_tbl : sytb_var_error("ATL_SHORTLOOP128", IDX)) \
02033 [IDX].fld.flag8
02034 # else
02035 # define ATL_SHORTLOOP128(IDX) attr_tbl[IDX].fld.flag8
02036 # endif
02037
02038 # ifdef _DEBUG
02039 # define ATL_SPLIT(IDX) \
02040 ((AT_OBJ_CLASS(IDX) == Label) ? \
02041 attr_tbl : sytb_var_error("ATL_SPLIT", IDX)) \
02042 [IDX].fld.flag22
02043 # else
02044 # define ATL_SPLIT(IDX) attr_tbl[IDX].fld.flag22
02045 # endif
02046
02047 # ifdef _DEBUG
02048 # define ATL_STREAM(IDX) \
02049 ((AT_OBJ_CLASS(IDX) == Label) ? \
02050 attr_tbl : sytb_var_error("ATL_STREAM", IDX)) \
02051 [IDX].fld.flag40
02052 # else
02053 # define ATL_STREAM(IDX) attr_tbl[IDX].fld.flag40
02054 # endif
02055
02056 # ifdef _DEBUG
02057 # define ATL_INFORM_ONLY(IDX) \
02058 ((AT_OBJ_CLASS(IDX) == Label) ? \
02059 attr_tbl : sytb_var_error("ATL_INFORM_ONLY", IDX)) \
02060 [IDX].fld.flag42
02061 # else
02062 # define ATL_INFORM_ONLY(IDX) attr_tbl[IDX].fld.flag42
02063 # endif
02064
02065 # ifdef _DEBUG
02066 # define ATL_TOP_OF_LOOP(IDX) \
02067 ((AT_OBJ_CLASS(IDX) == Label) ? \
02068 attr_tbl : sytb_var_error("ATL_TOP_OF_LOOP", IDX)) \
02069 [IDX].fld.flag36
02070 # else
02071 # define ATL_TOP_OF_LOOP(IDX) attr_tbl[IDX].fld.flag36
02072 # endif
02073
02074 # ifdef _DEBUG
02075 # define ATL_UNROLL_DIR(IDX) \
02076 ((AT_OBJ_CLASS(IDX) == Label) ? \
02077 attr_tbl : sytb_var_error("ATL_UNROLL_DIR", IDX)) \
02078 [IDX].fld.flag17
02079 # else
02080 # define ATL_UNROLL_DIR(IDX) attr_tbl[IDX].fld.flag17
02081 # endif
02082
02083
02084
02085
02086
02087 # ifdef _DEBUG
02088 # define ATN_FIRST_NAMELIST_IDX(IDX) \
02089 ((AT_OBJ_CLASS(IDX) == Namelist_Grp) ? \
02090 attr_tbl : sytb_var_error("ATN_FIRST_NAMELIST_IDX", IDX)) \
02091 [IDX].fld.field13
02092 # else
02093 # define ATN_FIRST_NAMELIST_IDX(IDX) attr_tbl[IDX].fld.field13
02094 # endif
02095
02096 # ifdef _DEBUG
02097 # define ATN_LAST_NAMELIST_IDX(IDX) \
02098 ((AT_OBJ_CLASS(IDX) == Namelist_Grp) ? \
02099 attr_tbl : sytb_var_error("ATN_LAST_NAMELIST_IDX", IDX)) \
02100 [IDX].fld.field10
02101 # else
02102 # define ATN_LAST_NAMELIST_IDX(IDX) attr_tbl[IDX].fld.field10
02103 # endif
02104
02105 # ifdef _DEBUG
02106 # define ATN_NAMELIST_DESC(IDX) \
02107 ((AT_OBJ_CLASS(IDX) == Namelist_Grp) ? \
02108 attr_tbl : sytb_var_error("ATN_NAMELIST_DESC", IDX)) \
02109 [IDX].fld.field4
02110 # else
02111 # define ATN_NAMELIST_DESC(IDX) attr_tbl[IDX].fld.field4
02112 # endif
02113
02114 # ifdef _DEBUG
02115 # define ATN_NUM_NAMELIST(IDX) \
02116 ((AT_OBJ_CLASS(IDX) == Namelist_Grp) ? \
02117 attr_tbl : sytb_var_error("ATN_NUM_NAMELIST", IDX)) \
02118 [IDX].fld.field5
02119 # else
02120 # define ATN_NUM_NAMELIST(IDX) attr_tbl[IDX].fld.field5
02121 # endif
02122
02123
02124
02125
02126 # ifdef _DEBUG
02127 # define ATP_ALIGN(IDX) \
02128 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02129 attr_tbl : sytb_var_error("ATP_ALIGN", IDX)) \
02130 [IDX].fld.flag32
02131 # else
02132 # define ATP_ALIGN(IDX) attr_tbl[IDX].fld.flag32
02133 # endif
02134
02135 # ifdef _DEBUG
02136 # define ATP_ALL_INTENT_IN(IDX) \
02137 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02138 attr_tbl : sytb_var_error("ATP_ALL_INTENT_IN", IDX)) \
02139 [IDX].fld.flag3
02140 # else
02141 # define ATP_ALL_INTENT_IN(IDX) attr_tbl[IDX].fld.flag3
02142 # endif
02143
02144 # ifdef _DEBUG
02145 # define ATP_ALT_ENTRY(IDX) \
02146 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02147 attr_tbl : sytb_var_error("ATP_ALT_ENTRY", IDX)) \
02148 [IDX].fld.flag2
02149 # else
02150 # define ATP_ALT_ENTRY(IDX) attr_tbl[IDX].fld.flag2
02151 # endif
02152
02153 # ifdef _DEBUG
02154 # define ATP_ARGCHCK_CALL(IDX) \
02155 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02156 attr_tbl : sytb_var_error("ATP_ARGCHCK_CALL", IDX)) \
02157 [IDX].fld.flag24
02158 # else
02159 # define ATP_ARGCHCK_CALL(IDX) attr_tbl[IDX].fld.flag24
02160 # endif
02161
02162 # ifdef _DEBUG
02163 # define ATP_ARGCHCK_ENTRY(IDX) \
02164 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02165 attr_tbl : sytb_var_error("ATP_ARGCHCK_ENTRY", IDX)) \
02166 [IDX].fld.flag25
02167 # else
02168 # define ATP_ARGCHCK_ENTRY(IDX) attr_tbl[IDX].fld.flag25
02169 # endif
02170
02171 # ifdef _DEBUG
02172 # define ATP_CIF_DARG_PROC(IDX) \
02173 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02174 attr_aux_tbl : attr_aux_var_error("ATP_CIF_DARG_PROC", IDX)) \
02175 [IDX].fld.flag1
02176 # else
02177 # define ATP_CIF_DARG_PROC(IDX) attr_aux_tbl[IDX].fld.flag1
02178 # endif
02179
02180 # ifdef _DEBUG
02181 # define ATP_DCL_EXTERNAL(IDX) \
02182 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02183 attr_tbl : sytb_var_error("ATP_DCL_EXTERNAL", IDX)) \
02184 [IDX].fld.flag10
02185 # else
02186 # define ATP_DCL_EXTERNAL(IDX) attr_tbl[IDX].fld.flag10
02187 # endif
02188
02189 # ifdef _DEBUG
02190 # define ATP_DOES_NOT_RETURN(IDX) \
02191 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02192 attr_tbl : sytb_var_error("ATP_DOES_NOT_RETURN", IDX)) \
02193 [IDX].fld.flag49
02194 # else
02195 # define ATP_DOES_NOT_RETURN(IDX) attr_tbl[IDX].fld.flag49
02196 # endif
02197
02198 # ifdef _DEBUG
02199 # define ATP_DUMMY_PROC_LINK(IDX) \
02200 ((AT_OBJ_CLASS(IDX) == Pgm_Unit && \
02201 attr_tbl[IDX].fld.field2 == Dummy_Proc) ? \
02202 attr_tbl : sytb_var_error("ATP_DUMMY_PROC_LINK", IDX)) \
02203 [IDX].fld.field4
02204 # else
02205 # define ATP_DUMMY_PROC_LINK(IDX) attr_tbl[IDX].fld.field4
02206 # endif
02207
02208 # ifdef _DEBUG
02209 # define ATP_DUPLICATE_INTERFACE_IDX(IDX) \
02210 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02211 attr_aux_tbl:attr_aux_var_error("ATP_DUPLICATE_INTERFACE_IDX",IDX)) \
02212 [IDX].fld.field4
02213 # else
02214 # define ATP_DUPLICATE_INTERFACE_IDX(IDX) attr_aux_tbl[IDX].fld.field4
02215 # endif
02216
02217 # ifdef _DEBUG
02218 # define ATP_ELEMENTAL(IDX) \
02219 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02220 attr_tbl : sytb_var_error("ATP_ELEMENTAL", IDX)) \
02221 [IDX].fld.flag31
02222 # else
02223 # define ATP_ELEMENTAL(IDX) attr_tbl[IDX].fld.flag31
02224 # endif
02225
02226 # ifdef _DEBUG
02227 # define ATP_ENTRY_LABEL_SH_IDX(IDX) \
02228 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02229 attr_aux_tbl:attr_aux_var_error("ATP_ENTRY_LABEL_SH_IDX",IDX)) \
02230 [IDX].fld.field3
02231 # else
02232 # define ATP_ENTRY_LABEL_SH_IDX(IDX) attr_aux_tbl[IDX].fld.field3
02233 # endif
02234
02235 # ifdef _DEBUG
02236 # define ATP_EXT_NAME_IDX(IDX) \
02237 (AT_OBJ_CLASS(IDX) == Pgm_Unit ? \
02238 attr_tbl : sytb_var_error("ATP_EXT_NAME_IDX", IDX)) \
02239 [IDX].fld.field13
02240 # else
02241 # define ATP_EXT_NAME_IDX(IDX) attr_tbl[IDX].fld.field13
02242 # endif
02243
02244 # define ATP_EXT_NAME(IDX) name_pool[ATP_EXT_NAME_IDX(IDX)].name_char
02245 # define ATP_EXT_NAME_LONG(IDX) &(name_pool[ATP_EXT_NAME_IDX(IDX)].name_long)
02246 # define ATP_EXT_NAME_PTR(IDX) &name_pool[ATP_EXT_NAME_IDX(IDX)].name_char
02247
02248 # ifdef _DEBUG
02249 # define ATP_EXT_NAME_LEN(IDX) \
02250 (AT_OBJ_CLASS(IDX) == Pgm_Unit ? \
02251 attr_tbl : sytb_var_error("ATP_EXT_NAME_LEN", IDX)) \
02252 [IDX].fld.field12
02253 # else
02254 # define ATP_EXT_NAME_LEN(IDX) attr_tbl[IDX].fld.field12
02255 # endif
02256
02257 # ifdef _DEBUG
02258 # define ATP_EXPL_ITRFC(IDX) \
02259 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02260 attr_tbl : sytb_var_error("ATP_EXPL_ITRFC", IDX)) \
02261 [IDX].fld.flag41
02262 # else
02263 # define ATP_EXPL_ITRFC(IDX) attr_tbl[IDX].fld.flag41
02264 # endif
02265
02266 # ifdef _DEBUG
02267 # define ATP_EXTERNAL_INTRIN(IDX) \
02268 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02269 attr_tbl : sytb_var_error("ATP_EXTERNAL_INTRIN", IDX)) \
02270 [IDX].fld.flag43
02271 # else
02272 # define ATP_EXTERNAL_INTRIN(IDX) attr_tbl[IDX].fld.flag43
02273 # endif
02274
02275 # ifdef _DEBUG
02276 # define ATP_EXTRA_DARG(IDX) \
02277 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02278 attr_tbl : sytb_var_error("ATP_EXTRA_DARG", IDX)) \
02279 [IDX].fld.flag42
02280 # else
02281 # define ATP_EXTRA_DARG(IDX) attr_tbl[IDX].fld.flag42
02282 # endif
02283
02284 # ifdef _DEBUG
02285 # define ATP_FIRST_IDX(IDX) \
02286 (((AT_OBJ_CLASS(IDX) == Pgm_Unit) && \
02287 (attr_tbl[IDX].fld.secondary_info != Module)) || \
02288 (AT_OBJ_CLASS(IDX) == Stmt_Func) ? \
02289 attr_tbl : sytb_var_error("ATP_FIRST_IDX", IDX)) \
02290 [IDX].fld.field14
02291 # else
02292 # define ATP_FIRST_IDX(IDX) attr_tbl[IDX].fld.field14
02293 # endif
02294
02295 # ifdef _DEBUG
02296 # define ATP_FIRST_SH_IDX(IDX) \
02297 ((AT_OBJ_CLASS(IDX) == Pgm_Unit && \
02298 attr_tbl[IDX].fld.secondary_info != Module && \
02299 attr_tbl[IDX].fld.field2 != Intrin_Proc) ? \
02300 attr_tbl : sytb_var_error("ATP_FIRST_SH_IDX", IDX)) \
02301 [IDX].fld.field4
02302 # else
02303 # define ATP_FIRST_SH_IDX(IDX) attr_tbl[IDX].fld.field4
02304 # endif
02305
02306 # ifdef _DEBUG
02307 # define ATP_GLOBAL_ATTR_IDX(IDX) \
02308 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02309 attr_tbl : sytb_var_error("ATP_GLOBAL_ATTR_IDX", IDX)) \
02310 [IDX].fld.field16
02311 # else
02312 # define ATP_GLOBAL_ATTR_IDX(IDX) attr_tbl[IDX].fld.field16
02313 # endif
02314
02315 # ifdef _DEBUG
02316 # define ATP_HAS_ALT_RETURN(IDX) \
02317 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02318 attr_tbl : sytb_var_error("ATP_HAS_ALT_RETURN", IDX)) \
02319 [IDX].fld.flag9
02320 # else
02321 # define ATP_HAS_ALT_RETURN(IDX) attr_tbl[IDX].fld.flag9
02322 # endif
02323
02324 # ifdef _DEBUG
02325 # define ATP_HAS_OVER_INDEXING(IDX) \
02326 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02327 attr_tbl : sytb_var_error("ATP_HAS_OVER_INDEXING", IDX)) \
02328 [IDX].fld.flag26
02329 # else
02330 # define ATP_HAS_OVER_INDEXING(IDX) attr_tbl[IDX].fld.flag26
02331 # endif
02332
02333 # ifdef _DEBUG
02334 # define ATP_HAS_TASK_DIRS(IDX) \
02335 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02336 attr_tbl : sytb_var_error("ATP_HAS_TASK_DIRS", IDX)) \
02337 [IDX].fld.flag27
02338 # else
02339 # define ATP_HAS_TASK_DIRS(IDX) attr_tbl[IDX].fld.flag27
02340 # endif
02341
02342 # ifdef _DEBUG
02343 # define ATP_IMPLICIT_USE_MODULE(IDX) \
02344 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02345 attr_aux_tbl: attr_aux_var_error("ATP_IMPLICIT_USE_MODULE",IDX)) \
02346 [IDX].fld.flag5
02347 # else
02348 # define ATP_IMPLICIT_USE_MODULE(IDX) attr_aux_tbl[IDX].fld.flag5
02349 # endif
02350
02351 # ifdef _DEBUG
02352 # define ATP_IN_INTERFACE_BLK(IDX) \
02353 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02354 attr_tbl : sytb_var_error("ATP_IN_INTERFACE_BLK", IDX)) \
02355 [IDX].fld.flag11
02356 # else
02357 # define ATP_IN_INTERFACE_BLK(IDX) attr_tbl[IDX].fld.flag11
02358 # endif
02359
02360 # ifdef _DEBUG
02361 # define ATP_IN_UNNAMED_INTERFACE(IDX) \
02362 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02363 attr_tbl : sytb_var_error("ATP_IN_UNNAMED_INTERFACE", IDX)) \
02364 [IDX].fld.flag18
02365 # else
02366 # define ATP_IN_UNNAMED_INTERFACE(IDX) attr_tbl[IDX].fld.flag18
02367 # endif
02368
02369 # ifdef _DEBUG
02370 # define ATP_INDIRECT_MODULE(IDX) \
02371 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02372 attr_aux_tbl : attr_aux_var_error("ATP_INDIRECT_MODULE", IDX)) \
02373 [IDX].fld.flag2
02374 # else
02375 # define ATP_INDIRECT_MODULE(IDX) attr_aux_tbl[IDX].fld.flag2
02376 # endif
02377
02378 # ifdef _DEBUG
02379 # define ATP_INLINE_ALWAYS(IDX) \
02380 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02381 attr_tbl : sytb_var_error("ATP_INLINE_ALWAYS", IDX)) \
02382 [IDX].fld.flag22
02383 # else
02384 # define ATP_INLINE_ALWAYS(IDX) attr_tbl[IDX].fld.flag22
02385 # endif
02386
02387 # ifdef _DEBUG
02388 # define ATP_INLINE_NEVER(IDX) \
02389 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02390 attr_tbl : sytb_var_error("ATP_INLINE_NEVER", IDX)) \
02391 [IDX].fld.flag23
02392 # else
02393 # define ATP_INLINE_NEVER(IDX) attr_tbl[IDX].fld.flag23
02394 # endif
02395
02396 # ifdef _DEBUG
02397 # define ATP_INTERFACE_IDX(IDX) \
02398 ((AT_OBJ_CLASS(IDX) == Pgm_Unit && \
02399 attr_tbl[IDX].fld.field2 == Intrin_Proc) ? \
02400 attr_tbl : sytb_var_error("ATP_INTERFACE_IDX", IDX)) \
02401 [IDX].fld.field4
02402 # else
02403 # define ATP_INTERFACE_IDX(IDX) attr_tbl[IDX].fld.field4
02404 # endif
02405
02406 # ifdef _DEBUG
02407 # define ATP_INTRIN_ENUM(IDX) \
02408 ((AT_OBJ_CLASS(IDX) == Pgm_Unit && \
02409 attr_tbl[IDX].fld.field2 == Intrin_Proc) ? \
02410 attr_tbl : sytb_var_error("ATP_INTRIN_ENUM", IDX)) \
02411 [IDX].fld.field10
02412 # else
02413 # define ATP_INTRIN_ENUM(IDX) attr_tbl[IDX].fld.field10
02414 # endif
02415
02416 # ifdef _DEBUG
02417 # define ATP_IN_CURRENT_COMPILE(IDX) \
02418 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02419 attr_aux_tbl: attr_aux_var_error("ATP_IN_CURRENT_COMPILE",IDX))\
02420 [IDX].fld.flag4
02421 # else
02422 # define ATP_IN_CURRENT_COMPILE(IDX) attr_aux_tbl[IDX].fld.flag4
02423 # endif
02424
02425 # ifdef _DEBUG
02426 # define ATP_MAY_INLINE(IDX) \
02427 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02428 attr_tbl : sytb_var_error("ATP_MAY_INLINE", IDX)) \
02429 [IDX].fld.flag21
02430 # else
02431 # define ATP_MAY_INLINE(IDX) attr_tbl[IDX].fld.flag21
02432 # endif
02433
02434 # ifdef _DEBUG
02435 # define ATP_MOD_PATH_IDX(IDX) \
02436 ((AT_OBJ_CLASS(IDX) == Pgm_Unit && \
02437 attr_tbl[IDX].fld.secondary_info == Module) ? \
02438 attr_tbl : sytb_var_error("ATP_MOD_PATH_IDX", IDX)) \
02439 [IDX].fld.field4
02440 # else
02441 # define ATP_MOD_PATH_IDX(IDX) attr_tbl[IDX].fld.field4
02442 # endif
02443
02444 # define ATP_MOD_PATH_NAME_PTR(IDX) &name_pool[ATP_MOD_PATH_IDX(IDX)].name_char
02445
02446 # ifdef _DEBUG
02447 # define ATP_MOD_PATH_LEN(IDX) \
02448 ((AT_OBJ_CLASS(IDX) == Pgm_Unit && \
02449 attr_tbl[IDX].fld.secondary_info == Module) ? \
02450 attr_tbl : sytb_var_error("ATP_MOD_PATH_LEN", IDX)) \
02451 [IDX].fld.field6
02452 # else
02453 # define ATP_MOD_PATH_LEN(IDX) attr_tbl[IDX].fld.field6
02454 # endif
02455
02456 # ifdef _DEBUG
02457 # define ATP_MODULE_STR_IDX(IDX) \
02458 ((AT_OBJ_CLASS(IDX) == Pgm_Unit && \
02459 attr_tbl[IDX].fld.secondary_info == Module) ? \
02460 attr_tbl : sytb_var_error("ATP_MODULE_STR_IDX", IDX)) \
02461 [IDX].fld.field10
02462 # else
02463 # define ATP_MODULE_STR_IDX(IDX) attr_tbl[IDX].fld.field10
02464 # endif
02465
02466 # ifdef _DEBUG
02467 # define ATP_NAME_IN_STONE(IDX) \
02468 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02469 attr_tbl : sytb_var_error("ATP_NAME_IN_STONE", IDX)) \
02470 [IDX].fld.flag20
02471 # else
02472 # define ATP_NAME_IN_STONE(IDX) attr_tbl[IDX].fld.flag20
02473 # endif
02474
02475 # ifdef _DEBUG
02476 # define ATP_NO_ENTRY_LIST(IDX) \
02477 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02478 attr_aux_tbl : attr_aux_var_error("ATP_NO_ENTRY_LIST", IDX)) \
02479 [IDX].fld.field1
02480 # else
02481 # define ATP_NO_ENTRY_LIST(IDX) attr_aux_tbl[IDX].fld.field1
02482 # endif
02483
02484 # ifdef _DEBUG
02485 # define ATP_NON_ANSI_INTRIN(IDX) \
02486 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02487 attr_tbl : sytb_var_error("ATP_NON_ANSI_INTRIN", IDX)) \
02488 [IDX].fld.flag6
02489 # else
02490 # define ATP_NON_ANSI_INTRIN(IDX) attr_tbl[IDX].fld.flag6
02491 # endif
02492
02493 # ifdef _DEBUG
02494 # define ATP_NOSIDE_EFFECTS(IDX) \
02495 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02496 attr_tbl : sytb_var_error("ATP_NOSIDE_EFFECTS", IDX)) \
02497 [IDX].fld.flag5
02498 # else
02499 # define ATP_NOSIDE_EFFECTS(IDX) attr_tbl[IDX].fld.flag5
02500 # endif
02501
02502 # ifdef _DEBUG
02503 # define ATP_NUM_DARGS(IDX) \
02504 (((AT_OBJ_CLASS(IDX) == Pgm_Unit && \
02505 attr_tbl[IDX].fld.secondary_info != Module) || \
02506 AT_OBJ_CLASS(IDX) == Stmt_Func) ? \
02507 attr_tbl : sytb_var_error("ATP_NUM_DARGS", IDX)) \
02508 [IDX].fld.field6
02509 # else
02510 # define ATP_NUM_DARGS(IDX) attr_tbl[IDX].fld.field6
02511 # endif
02512
02513 # ifdef _DEBUG
02514 # define ATP_PARENT_IDX(IDX) \
02515 ((AT_OBJ_CLASS(IDX) == Pgm_Unit && \
02516 attr_tbl[IDX].fld.secondary_info != Module) ? \
02517 attr_tbl : sytb_var_error("ATP_PARENT_IDX", IDX)) \
02518 [IDX].fld.field10
02519 # else
02520 # define ATP_PARENT_IDX(IDX) attr_tbl[IDX].fld.field10
02521 # endif
02522
02523 # ifdef _DEBUG
02524 # define ATP_PGM_UNIT(IDX) \
02525 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02526 attr_tbl : sytb_var_error("ATP_PGM_UNIT", IDX)) \
02527 [IDX].fld.secondary_info
02528 # else
02529 # define ATP_PGM_UNIT(IDX) attr_tbl[IDX].fld.secondary_info
02530 # endif
02531
02532 # ifdef _DEBUG
02533 # define ATP_OPTIONAL_DIR(IDX) \
02534 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02535 attr_tbl : sytb_var_error("ATP_OPTIONAL_DIR", IDX)) \
02536 [IDX].fld.flag44
02537 # else
02538 # define ATP_OPTIONAL_DIR(IDX) attr_tbl[IDX].fld.flag44
02539 # endif
02540
02541 # ifdef _DEBUG
02542 # define ATP_PROC(IDX) \
02543 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02544 attr_tbl : sytb_var_error("ATP_PROC", IDX)) \
02545 [IDX].fld.field2
02546 # else
02547 # define ATP_PROC(IDX) attr_tbl[IDX].fld.field2
02548 # endif
02549
02550 # ifdef _DEBUG
02551 # define ATP_PURE(IDX) \
02552 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02553 attr_tbl : sytb_var_error("ATP_PURE", IDX)) \
02554 [IDX].fld.flag30
02555 # else
02556 # define ATP_PURE(IDX) attr_tbl[IDX].fld.flag30
02557 # endif
02558
02559 # ifdef _DEBUG
02560 # define ATP_RECURSIVE(IDX) \
02561 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02562 attr_tbl : sytb_var_error("ATP_RECURSIVE", IDX)) \
02563 [IDX].fld.flag1
02564 # else
02565 # define ATP_RECURSIVE(IDX) attr_tbl[IDX].fld.flag1
02566 # endif
02567
02568 # ifdef _DEBUG
02569 # define ATP_RSLT_IDX(IDX) \
02570 ((AT_OBJ_CLASS(IDX) == Pgm_Unit && \
02571 ATP_PGM_UNIT(IDX) != Module) ? \
02572 attr_tbl : sytb_var_error("ATP_RSLT_IDX", IDX)) \
02573 [IDX].fld.field8
02574 # else
02575 # define ATP_RSLT_IDX(IDX) attr_tbl[IDX].fld.field8
02576 # endif
02577
02578 # ifdef _DEBUG
02579 # define ATP_RSLT_NAME(IDX) \
02580 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02581 attr_tbl : sytb_var_error("ATP_RSLT_NAME", IDX)) \
02582 [IDX].fld.flag12
02583 # else
02584 # define ATP_RSLT_NAME(IDX) attr_tbl[IDX].fld.flag12
02585 # endif
02586
02587 # ifdef _DEBUG
02588 # define ATP_SAVE_ALL(IDX) \
02589 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02590 attr_tbl : sytb_var_error("ATP_SAVE_ALL", IDX)) \
02591 [IDX].fld.flag34
02592 # else
02593 # define ATP_SAVE_ALL(IDX) attr_tbl[IDX].fld.flag34
02594 # endif
02595
02596 # ifdef _DEBUG
02597 # define ATP_SCP_ALIVE(IDX) \
02598 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02599 attr_tbl : sytb_var_error("ATP_SCP_ALIVE", IDX)) \
02600 [IDX].fld.flag8
02601 # else
02602 # define ATP_SCP_ALIVE(IDX) attr_tbl[IDX].fld.flag8
02603 # endif
02604
02605 # ifdef _DEBUG
02606 # define ATP_SCP_IDX(IDX) \
02607 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02608 attr_aux_tbl : attr_aux_var_error("ATP_SCP_IDX", IDX)) \
02609 [IDX].fld.field5
02610 # else
02611 # define ATP_SCP_IDX(IDX) attr_aux_tbl[IDX].fld.field5
02612 # endif
02613
02614 # ifdef _DEBUG
02615 # define ATP_SGI_LOCAL_INLINE(IDX) \
02616 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02617 attr_aux_tbl : attr_aux_var_error("ATP_SGI_LOCAL_INLINE",IDX)) \
02618 [IDX].fld.flag6
02619 # else
02620 # define ATP_SGI_LOCAL_INLINE(IDX) attr_aux_tbl[IDX].fld.flag6
02621 # endif
02622
02623 # ifdef _DEBUG
02624 # define ATP_SGI_LOCAL_NOINLINE(IDX) \
02625 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02626 attr_aux_tbl : attr_aux_var_error("ATP_SGI_LOCAL_NOINLINE",IDX)) \
02627 [IDX].fld.flag7
02628 # else
02629 # define ATP_SGI_LOCAL_NOINLINE(IDX) attr_aux_tbl[IDX].fld.flag7
02630 # endif
02631
02632 # ifdef _DEBUG
02633 # define ATP_SGI_GLOBAL_INLINE(IDX) \
02634 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02635 attr_tbl : sytb_var_error("ATP_SGI_GLOBAL_INLINE", IDX)) \
02636 [IDX].fld.flag35
02637 # else
02638 # define ATP_SGI_GLOBAL_INLINE(IDX) attr_tbl[IDX].fld.flag35
02639 # endif
02640
02641 # ifdef _DEBUG
02642 # define ATP_SGI_GLOBAL_NOINLINE(IDX) \
02643 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02644 attr_tbl : sytb_var_error("ATP_SGI_GLOBAL_NOINLINE", IDX)) \
02645 [IDX].fld.flag36
02646 # else
02647 # define ATP_SGI_GLOBAL_NOINLINE(IDX) attr_tbl[IDX].fld.flag36
02648 # endif
02649
02650 # ifdef _DEBUG
02651 # define ATP_SGI_ROUTINE_INLINE(IDX) \
02652 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02653 attr_tbl : sytb_var_error("ATP_SGI_ROUTINE_INLINE", IDX)) \
02654 [IDX].fld.flag38
02655 # else
02656 # define ATP_SGI_ROUTINE_INLINE(IDX) attr_tbl[IDX].fld.flag38
02657 # endif
02658
02659 # ifdef _DEBUG
02660 # define ATP_SGI_ROUTINE_NOINLINE(IDX) \
02661 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02662 attr_tbl : sytb_var_error("ATP_SGI_ROUTINE_NOINLINE", IDX)) \
02663 [IDX].fld.flag37
02664 # else
02665 # define ATP_SGI_ROUTINE_NOINLINE(IDX) attr_tbl[IDX].fld.flag37
02666 # endif
02667
02668 # ifdef _DEBUG
02669 # define ATP_STACK_DIR(IDX) \
02670 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02671 attr_tbl : sytb_var_error("ATP_STACK_DIR", IDX)) \
02672 [IDX].fld.flag7
02673 # else
02674 # define ATP_STACK_DIR(IDX) attr_tbl[IDX].fld.flag7
02675 # endif
02676
02677 # ifdef _DEBUG
02678 # define ATP_SYMMETRIC(IDX) \
02679 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02680 attr_tbl : sytb_var_error("ATP_SYMMETRIC", IDX)) \
02681 [IDX].fld.flag28
02682 # else
02683 # define ATP_SYMMETRIC(IDX) attr_tbl[IDX].fld.flag28
02684 # endif
02685
02686 # ifdef _DEBUG
02687 # define ATP_SYSTEM_MODULE(IDX) \
02688 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02689 attr_aux_tbl : attr_aux_var_error("ATP_SYSTEM_MODULE", IDX)) \
02690 [IDX].fld.flag3
02691 # else
02692 # define ATP_SYSTEM_MODULE(IDX) attr_aux_tbl[IDX].fld.flag3
02693 # endif
02694
02695 # ifdef _DEBUG
02696 # define ATP_TASK_SHARED(IDX) \
02697 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02698 attr_tbl : sytb_var_error("ATP_TASK_SHARED", IDX)) \
02699 [IDX].fld.flag19
02700 # else
02701 # define ATP_TASK_SHARED(IDX) attr_tbl[IDX].fld.flag19
02702 # endif
02703
02704 # ifdef _DEBUG
02705 # define ATP_USE_LIST(IDX) \
02706 ((AT_OBJ_CLASS(IDX) == Pgm_Unit && \
02707 attr_tbl[IDX].fld.secondary_info == Module) ? \
02708 attr_aux_tbl : attr_aux_var_error("ATP_USE_LIST", IDX)) \
02709 [IDX].fld.field2
02710 # else
02711 # define ATP_USE_LIST(IDX) attr_aux_tbl[IDX].fld.field2
02712 # endif
02713
02714 # ifdef _DEBUG
02715 # define ATP_USE_TYPE(IDX) \
02716 (AT_OBJ_CLASS(IDX) == Pgm_Unit ? \
02717 attr_tbl : sytb_var_error("ATP_USE_TYPE", IDX)) \
02718 [IDX].fld.field3
02719 # else
02720 # define ATP_USE_TYPE(IDX) attr_tbl[IDX].fld.field3
02721 # endif
02722
02723 # ifdef _DEBUG
02724 # define ATP_USES_EREGS(IDX) \
02725 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02726 attr_tbl : sytb_var_error("ATP_USES_EREGS", IDX)) \
02727 [IDX].fld.flag29
02728 # else
02729 # define ATP_USES_EREGS(IDX) attr_tbl[IDX].fld.flag29
02730 # endif
02731
02732 # ifdef _DEBUG
02733 # define ATP_VFUNCTION(IDX) \
02734 ((AT_OBJ_CLASS(IDX) == Pgm_Unit) ? \
02735 attr_tbl : sytb_var_error("ATP_VFUNCTION", IDX)) \
02736 [IDX].fld.flag4
02737 # else
02738 # define ATP_VFUNCTION(IDX) attr_tbl[IDX].fld.flag4
02739 # endif
02740
02741
02742
02743
02744 # ifdef _DEBUG
02745 # define ATS_SF_ACTIVE(IDX) \
02746 ((AT_OBJ_CLASS(IDX) == Stmt_Func) ? \
02747 attr_tbl : sytb_var_error("ATS_SF_ACTIVE", IDX)) \
02748 [IDX].fld.flag1
02749 # else
02750 # define ATS_SF_ACTIVE(IDX) attr_tbl[IDX].fld.flag1
02751 # endif
02752
02753 # ifdef _DEBUG
02754 # define ATS_SF_FLD(IDX) \
02755 ((AT_OBJ_CLASS(IDX) == Stmt_Func) ? \
02756 attr_tbl : sytb_var_error("ATS_SF_FLD", IDX)) \
02757 [IDX].fld.secondary_info
02758 # else
02759 # define ATS_SF_FLD(IDX) attr_tbl[IDX].fld.secondary_info
02760 # endif
02761
02762 # ifdef _DEBUG
02763 # define ATS_SF_IDX(IDX) \
02764 ((AT_OBJ_CLASS(IDX) == Stmt_Func) ? \
02765 attr_tbl : sytb_var_error("ATS_SF_IDX", IDX)) \
02766 [IDX].fld.field4
02767 # else
02768 # define ATS_SF_IDX(IDX) attr_tbl[IDX].fld.field4
02769 # endif
02770
02771 # ifdef _DEBUG
02772 # define ATS_SF_SEMANTICS_DONE(IDX) \
02773 ((AT_OBJ_CLASS(IDX) == Stmt_Func) ? \
02774 attr_tbl : sytb_var_error("ATS_SF_SEMANTICS_DONE", IDX)) \
02775 [IDX].fld.flag2
02776 # else
02777 # define ATS_SF_SEMANTICS_DONE(IDX) attr_tbl[IDX].fld.flag2
02778 # endif
02779
02780
02781
02782
02783
02784
02785 # ifdef _DEBUG
02786 # define OLD_ATT_16_BIT_ALIGN(IDX) \
02787 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02788 attr_tbl : sytb_var_error("OLD_ATT_16_BIT_ALIGN", IDX)) \
02789 [IDX].fld.flag27
02790 # else
02791 # define OLD_ATT_16_BIT_ALIGN(IDX) attr_tbl[IDX].fld.flag27
02792 # endif
02793
02794 # ifdef _DEBUG
02795 # define OLD_ATT_8_BIT_ALIGN(IDX) \
02796 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02797 attr_tbl : sytb_var_error("OLD_ATT_8_BIT_ALIGN", IDX)) \
02798 [IDX].fld.flag28
02799 # else
02800 # define OLD_ATT_8_BIT_ALIGN(IDX) attr_tbl[IDX].fld.flag28
02801 # endif
02802
02803 # ifdef _DEBUG
02804 # define OLD_ATT_HALF_WORD_ALIGN(IDX) \
02805 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02806 attr_tbl : sytb_var_error("OLD_ATT_HALF_WORD_ALIGN", IDX)) \
02807 [IDX].fld.flag26
02808 # else
02809 # define OLD_ATT_HALF_WORD_ALIGN(IDX) attr_tbl[IDX].fld.flag26
02810 # endif
02811
02812 # ifdef _DEBUG
02813 # define ATT_ALIGNMENT(IDX) \
02814 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02815 attr_tbl : sytb_var_error("ATT_ALIGNMENT", IDX)) \
02816 [IDX].fld.field8
02817 # else
02818 # define ATT_ALIGNMENT(IDX) attr_tbl[IDX].fld.field8
02819 # endif
02820
02821 # ifdef _DEBUG
02822 # define ATT_CHAR_CPNT(IDX) \
02823 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02824 attr_tbl : sytb_var_error("ATT_CHAR_CPNT", IDX)) \
02825 [IDX].fld.flag22
02826 # else
02827 # define ATT_CHAR_CPNT(IDX) attr_tbl[IDX].fld.flag22
02828 # endif
02829
02830 # ifdef _DEBUG
02831 # define ATT_CHAR_SEQ(IDX) \
02832 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02833 attr_tbl : sytb_var_error("ATT_CHAR_SEQ", IDX)) \
02834 [IDX].fld.flag20
02835 # else
02836 # define ATT_CHAR_SEQ(IDX) attr_tbl[IDX].fld.flag20
02837 # endif
02838
02839 # ifdef _DEBUG
02840 # define ATT_CIF_DT_ID(IDX) \
02841 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02842 attr_aux_tbl : attr_aux_var_error("ATT_CIF_DT_ID", IDX)) \
02843 [IDX].fld.field4
02844 # else
02845 # define ATT_CIF_DT_ID(IDX) attr_aux_tbl[IDX].fld.field4
02846 # endif
02847
02848 # ifdef _DEBUG
02849 # define ATT_DALIGN_ME(IDX) \
02850 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02851 attr_tbl : sytb_var_error("ATT_DALIGN_ME", IDX)) \
02852 [IDX].fld.flag24
02853 # else
02854 # define ATT_DALIGN_ME(IDX) attr_tbl[IDX].fld.flag24
02855 # endif
02856
02857 # ifdef _DEBUG
02858 # define ATT_DCL_NUMERIC_SEQ(IDX) \
02859 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02860 attr_tbl : sytb_var_error("ATT_DCL_NUMERIC_SEQ", IDX)) \
02861 [IDX].fld.flag25
02862 # else
02863 # define ATT_DCL_NUMERIC_SEQ(IDX) attr_tbl[IDX].fld.flag25
02864 # endif
02865
02866 # ifdef _DEBUG
02867 # define ATT_DEFAULT_INITIALIZED(IDX) \
02868 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02869 attr_tbl : sytb_var_error("ATT_DEFAULT_INITIALIZED", IDX)) \
02870 [IDX].fld.flag29
02871 # else
02872 # define ATT_DEFAULT_INITIALIZED(IDX) attr_tbl[IDX].fld.flag29
02873 # endif
02874
02875 # ifdef _DEBUG
02876 # define ATT_FIRST_CPNT_IDX(IDX) \
02877 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02878 attr_tbl : sytb_var_error("ATT_FIRST_CPNT_IDX", IDX)) \
02879 [IDX].fld.field10
02880 # else
02881 # define ATT_FIRST_CPNT_IDX(IDX) attr_tbl[IDX].fld.field10
02882 # endif
02883
02884 # ifdef _DEBUG
02885 # define ATT_GLOBAL_TYPE_IDX(IDX) \
02886 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02887 attr_tbl : sytb_var_error("ATT_GLOBAL_TYPE_IDX", IDX)) \
02888 [IDX].fld.field6
02889 # else
02890 # define ATT_GLOBAL_TYPE_IDX(IDX) attr_tbl[IDX].fld.field6
02891 # endif
02892
02893 # ifdef _DEBUG
02894 # define ATT_LABEL_LIST_IDX(IDX) \
02895 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02896 attr_aux_tbl : attr_aux_var_error("ATT_LABEL_LIST_IDX", IDX)) \
02897 [IDX].fld.field2
02898 # else
02899 # define ATT_LABEL_LIST_IDX(IDX) attr_aux_tbl[IDX].fld.field2
02900 # endif
02901
02902 # ifdef _DEBUG
02903 # define ATT_NON_DEFAULT_CPNT(IDX) \
02904 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02905 attr_tbl : sytb_var_error("ATT_NON_DEFAULT_CPNT", IDX)) \
02906 [IDX].fld.flag23
02907 # else
02908 # define ATT_NON_DEFAULT_CPNT(IDX) attr_tbl[IDX].fld.flag23
02909 # endif
02910
02911 # ifdef _DEBUG
02912 # define ATT_NUM_CPNTS(IDX) \
02913 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02914 attr_tbl : sytb_var_error("ATT_NUM_CPNTS", IDX)) \
02915 [IDX].fld.field5
02916 # else
02917 # define ATT_NUM_CPNTS(IDX) attr_tbl[IDX].fld.field5
02918 # endif
02919
02920 # ifdef _DEBUG
02921 # define ATT_NUMERIC_CPNT(IDX) \
02922 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02923 attr_tbl : sytb_var_error("ATT_NUMERIC_CPNT", IDX)) \
02924 [IDX].fld.flag21
02925 # else
02926 # define ATT_NUMERIC_CPNT(IDX) attr_tbl[IDX].fld.flag21
02927 # endif
02928
02929 # ifdef _DEBUG
02930 # define ATT_POINTER_CPNT(IDX) \
02931 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02932 attr_tbl : sytb_var_error("ATT_POINTER_CPNT", IDX)) \
02933 [IDX].fld.flag19
02934 # else
02935 # define ATT_POINTER_CPNT(IDX) attr_tbl[IDX].fld.flag19
02936 # endif
02937
02938 #ifdef KEY
02939 # ifdef _DEBUG
02940 # define ATT_ALLOCATABLE_CPNT(IDX) \
02941 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02942 attr_tbl : sytb_var_error("ATT_ALLOCATABLE_CPNT", IDX)) \
02943 [IDX].fld.flag30
02944 # else
02945 # define ATT_ALLOCATABLE_CPNT(IDX) attr_tbl[IDX].fld.flag30
02946 # endif
02947 #endif
02948
02949 # ifdef _DEBUG
02950 # define ATT_PRIVATE_CPNT(IDX) \
02951 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02952 attr_tbl : sytb_var_error("ATT_PRIVATE_CPNT", IDX)) \
02953 [IDX].fld.flag17
02954 # else
02955 # define ATT_PRIVATE_CPNT(IDX) attr_tbl[IDX].fld.flag17
02956 # endif
02957
02958 # ifdef _DEBUG
02959 # define ATT_SCP_IDX(IDX) \
02960 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02961 attr_aux_tbl : attr_aux_var_error("ATT_SCP_IDX", IDX)) \
02962 [IDX].fld.field1
02963 # else
02964 # define ATT_SCP_IDX(IDX) attr_aux_tbl[IDX].fld.field1
02965 # endif
02966
02967 # ifdef _DEBUG
02968 # define ATT_SEQUENCE_SET(IDX) \
02969 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02970 attr_tbl : sytb_var_error("ATT_SEQUENCE_SET", IDX)) \
02971 [IDX].fld.flag18
02972 # else
02973 # define ATT_SEQUENCE_SET(IDX) attr_tbl[IDX].fld.flag18
02974 # endif
02975
02976 # ifdef _DEBUG
02977 # define ATT_STRUCT_BIT_LEN_FLD(IDX) \
02978 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02979 attr_tbl : sytb_var_error("ATT_STRUCT_BIT_LEN_FLD", IDX)) \
02980 [IDX].fld2.field22
02981 # else
02982 # define ATT_STRUCT_BIT_LEN_FLD(IDX) attr_tbl[IDX].fld2.field22
02983 # endif
02984
02985 # ifdef _DEBUG
02986 # define ATT_STRUCT_BIT_LEN_IDX(IDX) \
02987 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
02988 attr_tbl : sytb_var_error("ATT_STRUCT_BIT_LEN_IDX", IDX)) \
02989 [IDX].fld.field13
02990 # else
02991 # define ATT_STRUCT_BIT_LEN_IDX(IDX) attr_tbl[IDX].fld.field13
02992 # endif
02993
02994 #ifdef KEY
02995
02996
02997 # ifdef _DEBUG
02998 # define ATT_NON_INTRIN(IDX) \
02999 ((AT_OBJ_CLASS(IDX) == Pgm_Unit && ATP_PGM_UNIT(IDX) == Module) ? \
03000 attr_tbl : sytb_var_error("ATT_NON_INTRIN", IDX)) \
03001 [IDX].fld.flag17
03002 # else
03003 # define ATT_NON_INTRIN(IDX) attr_tbl[IDX].fld.flag17
03004 # endif
03005
03006
03007
03008 # ifdef _DEBUG
03009 # define ATT_NO_MODULE_NATURE(IDX) \
03010 ((AT_OBJ_CLASS(IDX) == Pgm_Unit && ATP_PGM_UNIT(IDX) == Module) ? \
03011 attr_tbl : sytb_var_error("ATT_NO_MODULE_NATURE", IDX)) \
03012 [IDX].fld.flag18
03013 # else
03014 # define ATT_NO_MODULE_NATURE(IDX) attr_tbl[IDX].fld.flag18
03015 # endif
03016 #endif
03017
03018 # ifdef _DEBUG
03019 # define ATT_UNIQUE_ID(IDX) \
03020 ((AT_OBJ_CLASS(IDX) == Derived_Type) ? \
03021 attr_aux_tbl : attr_aux_var_error("ATT_UNIQUE_ID", IDX)) \
03022 [IDX].fld.field3
03023 # else
03024 # define ATT_UNIQUE_ID(IDX) attr_aux_tbl[IDX].fld.field3
03025 # endif
03026
03027
03028
03029
03030
03031 # define AL_ATTR_IDX(IDX) attr_list_tbl[IDX].attr_idx
03032 # define AL_EQ_IDX(IDX) attr_list_tbl[IDX].attr_idx
03033 # define AL_NEXT_IDX(IDX) attr_list_tbl[IDX].next_idx
03034 # define AL_IDX_IS_EQ(IDX) attr_list_tbl[IDX].flag1
03035 # define AL_FREE(IDX) attr_list_tbl[IDX].flag2
03036
03037
03038
03039
03040
03041 # define AL_ENTRY_COUNT(IDX) attr_list_tbl[IDX].prev_idx
03042 # define AL_PREV_MODULE_IDX(IDX) attr_list_tbl[IDX].prev_idx
03043
03044
03045
03046
03047 # define BD_ARRAY_CLASS(IDX) bounds_tbl[IDX].hdr.array_class
03048 # define BD_ARRAY_SIZE(IDX) bounds_tbl[IDX].hdr.array_size
03049 # define BD_COLUMN_NUM(IDX) bounds_tbl[IDX].hdr.column_num
03050 # define BD_DCL_ERR(IDX) bounds_tbl[IDX].hdr.error
03051 # define BD_DIST_NTRY(IDX) bounds_tbl[IDX].hdr.dist_ntry
03052 # define BD_DISTRIBUTE_RESHAPE(IDX) bounds_tbl[IDX].hdr.dist_reshape
03053 # define BD_GLOBAL_IDX(IDX) bounds_tbl[IDX].hdr.global_idx
03054 # define BD_LEN_FLD(IDX) bounds_tbl[IDX].hdr.len_fld
03055 # define BD_LEN_IDX(IDX) bounds_tbl[IDX].hdr.len_idx
03056 # define BD_LINE_NUM(IDX) bounds_tbl[IDX].hdr.line_num
03057 # define BD_NEXT_FREE_NTRY(IDX) bounds_tbl[IDX].hdr.next_free_ntry
03058 # define BD_NTRY_SIZE(IDX) bounds_tbl[IDX].hdr.ntry_size
03059 # define BD_RANK(IDX) bounds_tbl[IDX].hdr.rank
03060 # define BD_RESOLVED(IDX) bounds_tbl[IDX].hdr.resolved
03061 # define BD_USED_NTRY(IDX) bounds_tbl[IDX].hdr.used_ntry
03062 # define BD_FLOW_DEPENDENT(IDX) bounds_tbl[IDX].hdr.flow_dep
03063
03064
03065
03066
03067 # ifdef _DEBUG
03068 # define BD_LB_FLD(IDX,DIM) \
03069 ((!BD_DIST_NTRY(IDX)) ? \
03070 bounds_tbl : bd_var_error("BD_LB_FLD", IDX)) \
03071 [(IDX)+(DIM)].dim.lb_fld
03072 # else
03073 # define BD_LB_FLD(IDX,DIM) bounds_tbl[(IDX)+(DIM)].dim.lb_fld
03074 # endif
03075
03076 # ifdef _DEBUG
03077 # define BD_LB_IDX(IDX,DIM) \
03078 ((!BD_DIST_NTRY(IDX)) ? \
03079 bounds_tbl : bd_var_error("BD_LB_IDX", IDX)) \
03080 [(IDX)+(DIM)].dim.lb_idx
03081 # else
03082 # define BD_LB_IDX(IDX,DIM) bounds_tbl[(IDX)+(DIM)].dim.lb_idx
03083 # endif
03084
03085 # ifdef _DEBUG
03086 # define BD_SM_IDX(IDX,DIM) \
03087 ((!BD_DIST_NTRY(IDX)) ? \
03088 bounds_tbl : bd_var_error("BD_SM_IDX", IDX)) \
03089 [(IDX)+(DIM)].dim.sm_idx
03090 # else
03091 # define BD_SM_IDX(IDX,DIM) bounds_tbl[(IDX)+(DIM)].dim.sm_idx
03092 # endif
03093
03094 # ifdef _DEBUG
03095 # define BD_SM_FLD(IDX,DIM) \
03096 ((!BD_DIST_NTRY(IDX)) ? \
03097 bounds_tbl : bd_var_error("BD_SM_FLD", IDX)) \
03098 [(IDX)+(DIM)].dim.sm_fld
03099 # else
03100 # define BD_SM_FLD(IDX,DIM) bounds_tbl[(IDX)+(DIM)].dim.sm_fld
03101 # endif
03102
03103 # ifdef _DEBUG
03104 # define BD_UB_FLD(IDX,DIM) \
03105 ((!BD_DIST_NTRY(IDX)) ? \
03106 bounds_tbl : bd_var_error("BD_UB_FLD", IDX)) \
03107 [(IDX)+(DIM)].dim.ub_fld
03108 # else
03109 # define BD_UB_FLD(IDX,DIM) bounds_tbl[(IDX)+(DIM)].dim.ub_fld
03110 # endif
03111
03112 # ifdef _DEBUG
03113 # define BD_UB_IDX(IDX,DIM) \
03114 ((!BD_DIST_NTRY(IDX)) ? \
03115 bounds_tbl : bd_var_error("BD_UB_IDX", IDX)) \
03116 [(IDX)+(DIM)].dim.ub_idx
03117 # else
03118 # define BD_UB_IDX(IDX,DIM) bounds_tbl[(IDX)+(DIM)].dim.ub_idx
03119 # endif
03120
03121 # ifdef _DEBUG
03122 # define BD_XT_FLD(IDX,DIM) \
03123 ((!BD_DIST_NTRY(IDX)) ? \
03124 bounds_tbl : bd_var_error("BD_XT_FLD", IDX)) \
03125 [(IDX)+(DIM)].dim.xt_fld
03126 # else
03127 # define BD_XT_FLD(IDX,DIM) bounds_tbl[(IDX)+(DIM)].dim.xt_fld
03128 # endif
03129
03130 # ifdef _DEBUG
03131 # define BD_XT_IDX(IDX,DIM) \
03132 ((!BD_DIST_NTRY(IDX)) ? \
03133 bounds_tbl : bd_var_error("BD_XT_IDX", IDX)) \
03134 [(IDX)+(DIM)].dim.xt_idx
03135 # else
03136 # define BD_XT_IDX(IDX,DIM) bounds_tbl[(IDX)+(DIM)].dim.xt_idx
03137 # endif
03138
03139
03140
03141 # ifdef _DEBUG
03142 # define BD_CYCLIC_FLD(IDX,DIM) \
03143 ((BD_DIST_NTRY(IDX)) ? \
03144 bounds_tbl : bd_var_error("BD_CYCLIC_FLD", IDX)) \
03145 [(IDX)+(DIM)].dist.cyclic_fld
03146 # else
03147 # define BD_CYCLIC_FLD(IDX,DIM) bounds_tbl[(IDX)+(DIM)].dist.cyclic_fld
03148 # endif
03149
03150 # ifdef _DEBUG
03151 # define BD_CYCLIC_IDX(IDX,DIM) \
03152 ((BD_DIST_NTRY(IDX)) ? \
03153 bounds_tbl : bd_var_error("BD_CYCLIC_IDX", IDX)) \
03154 [(IDX)+(DIM)].dist.cyclic_idx
03155 # else
03156 # define BD_CYCLIC_IDX(IDX,DIM) bounds_tbl[(IDX)+(DIM)].dist.cyclic_idx
03157 # endif
03158
03159 # ifdef _DEBUG
03160 # define BD_ONTO_FLD(IDX,DIM) \
03161 ((BD_DIST_NTRY(IDX)) ? \
03162 bounds_tbl : bd_var_error("BD_ONTO_FLD", IDX)) \
03163 [(IDX)+(DIM)].dist.onto_fld
03164 # else
03165 # define BD_ONTO_FLD(IDX,DIM) bounds_tbl[(IDX)+(DIM)].dist.onto_fld
03166 # endif
03167
03168 # ifdef _DEBUG
03169 # define BD_ONTO_IDX(IDX,DIM) \
03170 ((BD_DIST_NTRY(IDX)) ? \
03171 bounds_tbl : bd_var_error("BD_ONTO_IDX", IDX)) \
03172 [(IDX)+(DIM)].dist.onto_idx
03173 # else
03174 # define BD_ONTO_IDX(IDX,DIM) bounds_tbl[(IDX)+(DIM)].dist.onto_idx
03175 # endif
03176
03177 # ifdef _DEBUG
03178 # define BD_DISTRIBUTION(IDX,DIM) \
03179 ((BD_DIST_NTRY(IDX)) ? \
03180 bounds_tbl : bd_var_error("BD_DISTRIBUTION", IDX)) \
03181 [(IDX)+(DIM)].dist.distribution
03182 # else
03183 # define BD_DISTRIBUTION(IDX,DIM) bounds_tbl[(IDX)+(DIM)].dist.distribution
03184 # endif
03185
03186
03187
03188
03189 # define CS_CN_IDX(IDX) const_search_tbl[IDX].const_tbl_idx
03190
03191 # define CN_BOZ_CONSTANT(IDX) const_tbl[IDX].boz_constant
03192 # define CN_BOOLEAN_CONSTANT(IDX) const_tbl[IDX].boolean_constant
03193 # define CN_HOLLERITH_ENDIAN(IDX) const_tbl[IDX].hollerith_endian
03194 # define CN_HOLLERITH_TYPE(IDX) const_tbl[IDX].hollerith_fld
03195 # define CN_EXTRA_ZERO_WORD(IDX) const_tbl[IDX].extra_zero_word
03196 # define CN_POOL_IDX(IDX) const_tbl[IDX].const_pool_idx
03197 # define CN_CONST(IDX) const_pool[CN_POOL_IDX(IDX)]
03198 # define CN_TYPE_IDX(IDX) const_tbl[IDX].type_idx
03199 # define CN_LEFT_CHILD(IDX) const_tbl[IDX].left_child
03200 # define CN_RIGHT_CHILD(IDX) const_tbl[IDX].right_child
03201 # define CN_BALANCE_FACTOR(IDX) const_tbl[IDX].balance_factor
03202
03203 # define CP_CONSTANT(IDX) const_pool[IDX]
03204
03205
03206
03207
03208 # define EQ_ATTR_IDX(IDX) equiv_tbl[IDX].attr_idx
03209 # define EQ_COLUMN_NUM(IDX) equiv_tbl[IDX].column_num
03210 # define EQ_DALIGN_ME(IDX) equiv_tbl[IDX].dalign_me
03211 # define EQ_DALIGN_SHIFT(IDX) equiv_tbl[IDX].dalign_shift
03212 # define EQ_DO_NOT_DALIGN(IDX) equiv_tbl[IDX].do_not_dalign
03213 # define EQ_ERROR(IDX) equiv_tbl[IDX].error
03214 # define EQ_GRP_END_IDX(IDX) equiv_tbl[IDX].grp_end_idx
03215 # define EQ_GRP_IDX(IDX) equiv_tbl[IDX].grp_idx
03216 # define EQ_LINE_NUM(IDX) equiv_tbl[IDX].line_num
03217 # define EQ_LIST_IDX(IDX) equiv_tbl[IDX].list_idx
03218 # define EQ_MERGED(IDX) equiv_tbl[IDX].merged
03219 # define EQ_NEXT_EQUIV_GRP(IDX) equiv_tbl[IDX].next_equiv_grp
03220 # define EQ_NEXT_EQUIV_OBJ(IDX) equiv_tbl[IDX].next_equiv_obj
03221 # define EQ_OFFSET_FLD(IDX) equiv_tbl[IDX].fld
03222 # define EQ_OFFSET_IDX(IDX) equiv_tbl[IDX].offset_idx
03223 # define EQ_OPND_FLD(IDX) equiv_tbl[IDX].opnd_fld
03224 # define EQ_OPND_IDX(IDX) equiv_tbl[IDX].opnd_idx
03225 # define EQ_SEARCH_DONE(IDX) equiv_tbl[IDX].search_done
03226 # define EQ_SEMANTICS_DONE(IDX) equiv_tbl[IDX].semantics_done
03227 # define EQ_SUBSTRINGED(IDX) equiv_tbl[IDX].substring
03228
03229
03230
03231
03232 # define FP_CIF_ID(IDX) file_path_tbl[IDX].cif_id
03233 # define FP_CLASS(IDX) file_path_tbl[IDX].file_class
03234 # define FP_TMP_FILE(IDX) file_path_tbl[IDX].tmp_file
03235 # define FP_FILE_IDX(IDX) file_path_tbl[IDX].file_idx
03236 # define FP_MODULE_IDX(IDX) file_path_tbl[IDX].next_idx
03237 # define FP_MODULE_INLINE_IDX(IDX) file_path_tbl[IDX].module_inline_idx
03238 # define FP_NAME_IDX(IDX) file_path_tbl[IDX].name_idx
03239 # define FP_NAME_LEN(IDX) file_path_tbl[IDX].name_len
03240 # define FP_NAME(IDX) (str_pool[FP_NAME_IDX(IDX)].name_char)
03241 # define FP_NAME_LONG(IDX) &(str_pool[FP_NAME_IDX(IDX)].name_long)
03242 # define FP_NAME_PTR(IDX) &str_pool[FP_NAME_IDX(IDX)].name_char
03243 # define FP_NEXT_FILE_IDX(IDX) file_path_tbl[IDX].next_file_idx
03244 # define FP_OFFSET(IDX) file_path_tbl[IDX].offset
03245 # define FP_OUTPUT_TO_O(IDX) file_path_tbl[IDX].output_to_o
03246 # define FP_SRCH_THE_FILE(IDX) file_path_tbl[IDX].srch_the_file
03247 # define FP_SYSTEM_FILE(IDX) file_path_tbl[IDX].system_file
03248
03249
03250
03251
03252
03253 # define GA_COMPILER_GEND(IDX) global_attr_tbl[IDX].fld.compiler_gend
03254 # define GA_DEF_LINE(IDX) global_attr_tbl[IDX].fld.def_line
03255 # define GA_DEF_COLUMN(IDX) global_attr_tbl[IDX].fld.def_column
03256 # define GA_DEFINED(IDX) global_attr_tbl[IDX].fld.defined
03257 # define GA_MODULE_IDX(IDX) global_attr_tbl[IDX].fld.module_idx
03258 # define GA_NAME_IDX(IDX) global_attr_tbl[IDX].fld.name_idx
03259 # define GA_NAME_LEN(IDX) global_attr_tbl[IDX].fld.length
03260 # define GA_OBJ_CLASS(IDX) global_attr_tbl[IDX].fld.object_class
03261 # define GA_OBJ_NAME_LONG(IDX) &(str_pool[GA_NAME_IDX(IDX)].name_long)
03262 # define GA_OBJ_NAME_PTR(IDX) &str_pool[GA_NAME_IDX(IDX)].name_char
03263 # define GA_OPTIONAL(IDX) global_attr_tbl[IDX].fld.optional
03264 # define GA_ORIG_NAME_LEN(IDX) global_attr_tbl[IDX].fld.orig_name_len
03265 # define GA_ORIG_NAME_IDX(IDX) global_attr_tbl[IDX].fld.orig_name_idx
03266 # define GA_ORIG_NAME_PTR(IDX) &str_pool[GA_ORIG_NAME_IDX(IDX)].name_char
03267 # define GA_ORIG_NAME_LONG(IDX) &(str_pool[GA_ORIG_NAME_IDX(IDX)].name_long)
03268 # define GA_REFERENCED(IDX) global_attr_tbl[IDX].fld.referenced
03269 # define GA_USE_ASSOCIATED(IDX) global_attr_tbl[IDX].fld.use_associated
03270 #ifdef KEY
03271 # define GA_BIND_ATTR(IDX) global_attr_tbl[IDX].fld.flag10
03272 # define GA_BINDING_LABEL(IDX) global_attr_tbl[IDX].fld.binding_label
03273 #endif
03274
03275
03276
03277 #ifdef KEY
03278 # ifdef _DEBUG
03279 # define GAD_VOLATILE(IDX) \
03280 ((GA_OBJ_CLASS(IDX) == Data_Obj) ? \
03281 global_attr_tbl : ga_var_error("GAD_ARRAY_ELEMENT_REF", IDX)) \
03282 [IDX].fld.flag7
03283 # else
03284 # define GAD_VOLATILE(IDX) global_attr_tbl[IDX].fld.flag7
03285 # endif
03286 #endif
03287
03288 # ifdef _DEBUG
03289 # define GAD_ARRAY_ELEMENT_REF(IDX) \
03290 ((GA_OBJ_CLASS(IDX) == Data_Obj) ? \
03291 global_attr_tbl : ga_var_error("GAD_ARRAY_ELEMENT_REF", IDX)) \
03292 [IDX].fld.flag5
03293 # else
03294 # define GAD_ARRAY_ELEMENT_REF(IDX) global_attr_tbl[IDX].fld.flag5
03295 # endif
03296
03297 # ifdef _DEBUG
03298 # define GAD_ARRAY_IDX(IDX) \
03299 ((GA_OBJ_CLASS(IDX) == Data_Obj) ? \
03300 global_attr_tbl : ga_var_error("GAD_ARRAY_IDX", IDX)) \
03301 [IDX].fld.field3
03302 # else
03303 # define GAD_ARRAY_IDX(IDX) global_attr_tbl[IDX].fld.field3
03304 # endif
03305
03306 # ifdef _DEBUG
03307 # define GAD_ASSUMED_SHAPE_ARRAY(IDX) \
03308 ((GA_OBJ_CLASS(IDX) == Data_Obj) ? \
03309 global_attr_tbl : ga_var_error("GAD_ASSUMED_SHAPE_ARRAY", IDX))\
03310 [IDX].fld.flag2
03311 # else
03312 # define GAD_ASSUMED_SHAPE_ARRAY(IDX) global_attr_tbl[IDX].fld.flag2
03313 # endif
03314
03315 # ifdef _DEBUG
03316 # define GAD_CLASS(IDX) \
03317 ((GA_OBJ_CLASS(IDX) == Data_Obj) ? \
03318 global_attr_tbl : ga_var_error("GAD_CLASS", IDX)) \
03319 [IDX].fld.field5
03320 # else
03321 # define GAD_CLASS(IDX) global_attr_tbl[IDX].fld.field5
03322 # endif
03323
03324 # ifdef _DEBUG
03325 # define GAD_HOLLERITH(IDX) \
03326 (((GA_OBJ_CLASS(IDX) == Data_Obj) && \
03327 (GAD_CLASS(IDX) == Constant)) ? \
03328 global_attr_tbl : ga_var_error("GAD_HOLLERITH", IDX)) \
03329 [IDX].fld.field4
03330 # else
03331 # define GAD_HOLLERITH(IDX) global_attr_tbl[IDX].fld.field4
03332 # endif
03333
03334 # ifdef _DEBUG
03335 # define GAD_IGNORE_TKR(IDX) \
03336 ((GA_OBJ_CLASS(IDX) == Data_Obj) ? \
03337 global_attr_tbl : ga_var_error("GAD_IGNORE_TKR", IDX)) \
03338 [IDX].fld.flag1
03339 # else
03340 # define GAD_IGNORE_TKR(IDX) global_attr_tbl[IDX].fld.flag1
03341 # endif
03342
03343 # ifdef _DEBUG
03344 # define GAD_INTENT(IDX) \
03345 (((GA_OBJ_CLASS(IDX) == Data_Obj) && \
03346 (GAD_CLASS(IDX) == Dummy_Argument)) ? \
03347 global_attr_tbl : ga_var_error("GAD_INTENT", IDX)) \
03348 [IDX].fld.field4
03349 # else
03350 # define GAD_INTENT(IDX) global_attr_tbl[IDX].fld.field4
03351 # endif
03352
03353 # ifdef _DEBUG
03354 # define GAD_NEXT_IDX(IDX) \
03355 ((GA_OBJ_CLASS(IDX) == Data_Obj) ? \
03356 global_attr_tbl : ga_var_error("GAD_NEXT_IDX", IDX)) \
03357 [IDX].fld.field8
03358 # else
03359 # define GAD_NEXT_IDX(IDX) global_attr_tbl[IDX].fld.field8
03360 # endif
03361
03362 # ifdef _DEBUG
03363 # define GAD_POINTER(IDX) \
03364 ((GA_OBJ_CLASS(IDX) == Data_Obj) ? \
03365 global_attr_tbl : ga_var_error("GAD_POINTER", IDX)) \
03366 [IDX].fld.flag3
03367 # else
03368 # define GAD_POINTER(IDX) global_attr_tbl[IDX].fld.flag3
03369 # endif
03370
03371 # ifdef _DEBUG
03372 # define GAD_RANK(IDX) \
03373 ((GA_OBJ_CLASS(IDX) == Data_Obj) ? \
03374 global_attr_tbl : ga_var_error("GAD_RANK", IDX)) \
03375 [IDX].fld.field2
03376 # else
03377 # define GAD_RANK(IDX) global_attr_tbl[IDX].fld.field2
03378 # endif
03379
03380 # ifdef _DEBUG
03381 # define GAD_TARGET(IDX) \
03382 ((GA_OBJ_CLASS(IDX) == Data_Obj) ? \
03383 global_attr_tbl : ga_var_error("GAD_TARGET", IDX)) \
03384 [IDX].fld.flag4
03385 # else
03386 # define GAD_TARGET(IDX) global_attr_tbl[IDX].fld.flag4
03387 # endif
03388
03389 # ifdef _DEBUG
03390 # define GAD_TYPE_IDX(IDX) \
03391 ((GA_OBJ_CLASS(IDX) == Data_Obj) ? \
03392 global_attr_tbl : ga_var_error("GAD_TYPE_IDX", IDX)) \
03393 [IDX].fld.field1
03394 # else
03395 # define GAD_TYPE_IDX(IDX) global_attr_tbl[IDX].fld.field1
03396 # endif
03397
03398
03399
03400 # ifdef _DEBUG
03401 # define GAC_ALIGN_SYMBOL(IDX) \
03402 ((GA_OBJ_CLASS(IDX) == Common_Block) ? \
03403 global_attr_tbl : ga_var_error("GAC_ALIGN_SYMBOL", IDX)) \
03404 [IDX].fld.flag5
03405 # else
03406 # define GAC_ALIGN_SYMBOL(IDX) global_attr_tbl[IDX].fld.flag5
03407 # endif
03408
03409 # ifdef _DEBUG
03410 # define GAC_AUXILIARY(IDX) \
03411 ((GA_OBJ_CLASS(IDX) == Common_Block) ? \
03412 global_attr_tbl : ga_var_error("GAC_AUXILIARY", IDX)) \
03413 [IDX].fld.flag1
03414 # else
03415 # define GAC_AUXILIARY(IDX) global_attr_tbl[IDX].fld.flag1
03416 # endif
03417
03418 # ifdef _DEBUG
03419 # define GAC_CACHE_ALIGN(IDX) \
03420 ((GA_OBJ_CLASS(IDX) == Common_Block) ? \
03421 global_attr_tbl : ga_var_error("GAC_CACHE_ALIGN", IDX)) \
03422 [IDX].fld.flag2
03423 # else
03424 # define GAC_CACHE_ALIGN(IDX) global_attr_tbl[IDX].fld.flag2
03425 # endif
03426
03427 # ifdef _DEBUG
03428 # define GAC_EQUIVALENCED(IDX) \
03429 ((GA_OBJ_CLASS(IDX) == Common_Block) ? \
03430 global_attr_tbl : ga_var_error("GAC_EQUIVALENCED", IDX)) \
03431 [IDX].fld.flag4
03432 # else
03433 # define GAC_EQUIVALENCED(IDX) global_attr_tbl[IDX].fld.flag4
03434 # endif
03435
03436 # ifdef _DEBUG
03437 # define GAC_FILL_SYMBOL(IDX) \
03438 ((GA_OBJ_CLASS(IDX) == Common_Block) ? \
03439 global_attr_tbl : ga_var_error("GAC_FILL_SYMBOL", IDX)) \
03440 [IDX].fld.flag6
03441 # else
03442 # define GAC_FILL_SYMBOL(IDX) global_attr_tbl[IDX].fld.flag6
03443 # endif
03444
03445 # ifdef _DEBUG
03446 # define GAC_FIRST_MEMBER_IDX(IDX) \
03447 ((GA_OBJ_CLASS(IDX) == Common_Block) ? \
03448 global_attr_tbl : ga_var_error("GAC_FIRST_MEMBER_IDX", IDX)) \
03449 [IDX].fld.field3
03450 # else
03451 # define GAC_FIRST_MEMBER_IDX(IDX) global_attr_tbl[IDX].fld.field3
03452 # endif
03453
03454 # ifdef _DEBUG
03455 # define GAC_FOUND_DIFFS(IDX) \
03456 ((GA_OBJ_CLASS(IDX) == Common_Block) ? \
03457 global_attr_tbl : ga_var_error("GAC_FOUND_DIFFS", IDX)) \
03458 [IDX].fld.flag7
03459 # else
03460 # define GAC_FOUND_DIFFS(IDX) global_attr_tbl[IDX].fld.flag7
03461 # endif
03462
03463 # ifdef _DEBUG
03464 # define GAC_PGM_UNIT_IDX(IDX) \
03465 ((GA_OBJ_CLASS(IDX) == Common_Block) ? \
03466 global_attr_tbl : ga_var_error("GAC_PGM_UNIT_IDX", IDX)) \
03467 [IDX].fld.field1
03468 # else
03469 # define GAC_PGM_UNIT_IDX(IDX) global_attr_tbl[IDX].fld.field1
03470 # endif
03471
03472 # ifdef _DEBUG
03473 # define GAC_SECTION_GP(IDX) \
03474 ((GA_OBJ_CLASS(IDX) == Common_Block) ? \
03475 global_attr_tbl : ga_var_error("GAC_SECTION_GP", IDX)) \
03476 [IDX].fld.flag8
03477 # else
03478 # define GAC_SECTION_GP(IDX) global_attr_tbl[IDX].fld.flag8
03479 # endif
03480
03481 # ifdef _DEBUG
03482 # define GAC_SECTION_NON_GP(IDX) \
03483 ((GA_OBJ_CLASS(IDX) == Common_Block) ? \
03484 global_attr_tbl : ga_var_error("GAC_SECTION_NON_GP", IDX)) \
03485 [IDX].fld.flag9
03486 # else
03487 # define GAC_SECTION_NON_GP(IDX) global_attr_tbl[IDX].fld.flag9
03488 # endif
03489
03490 # ifdef _DEBUG
03491 # define GAC_TASK_COMMON(IDX) \
03492 ((GA_OBJ_CLASS(IDX) == Common_Block) ? \
03493 global_attr_tbl : ga_var_error("GAC_TASK_COMMON", IDX)) \
03494 [IDX].fld.flag3
03495 # else
03496 # define GAC_TASK_COMMON(IDX) global_attr_tbl[IDX].fld.flag3
03497 # endif
03498
03499
03500
03501
03502 # ifdef _DEBUG
03503 # define GAP_ELEMENTAL(IDX) \
03504 ((GA_OBJ_CLASS(IDX) == Pgm_Unit) ? \
03505 global_attr_tbl : ga_var_error("GAP_ELEMENTAL", IDX)) \
03506 [IDX].fld.flag3
03507 # else
03508 # define GAP_ELEMENTAL(IDX) global_attr_tbl[IDX].fld.flag3
03509 # endif
03510
03511 # ifdef _DEBUG
03512 # define GAP_FIRST_IDX(IDX) \
03513 ((GA_OBJ_CLASS(IDX) == Pgm_Unit) ? \
03514 global_attr_tbl : ga_var_error("GAP_FIRST_IDX", IDX)) \
03515 [IDX].fld.field1
03516 # else
03517 # define GAP_FIRST_IDX(IDX) global_attr_tbl[IDX].fld.field1
03518 # endif
03519
03520 # ifdef _DEBUG
03521 # define GAP_FP_IDX(IDX) \
03522 ((GA_OBJ_CLASS(IDX) == Pgm_Unit) ? \
03523 global_attr_tbl : ga_var_error("GAP_FP_IDX", IDX)) \
03524 [IDX].fld.field6
03525 # else
03526 # define GAP_FP_IDX(IDX) global_attr_tbl[IDX].fld.field6
03527 # endif
03528
03529 # ifdef _DEBUG
03530 # define GAP_GLOBAL_DIR(IDX) \
03531 ((GA_OBJ_CLASS(IDX) == Pgm_Unit) ? \
03532 global_attr_tbl : ga_var_error("GAP_GLOBAL_DIR", IDX)) \
03533 [IDX].fld.flag9
03534 # else
03535 # define GAP_GLOBAL_DIR(IDX) global_attr_tbl[IDX].fld.flag9
03536 # endif
03537
03538 # ifdef _DEBUG
03539 # define GAP_IN_INTERFACE_BLK(IDX) \
03540 ((GA_OBJ_CLASS(IDX) == Pgm_Unit) ? \
03541 global_attr_tbl : ga_var_error("GAP_IN_INTERFACE_BLK", IDX)) \
03542 [IDX].fld.flag2
03543 # else
03544 # define GAP_IN_INTERFACE_BLK(IDX) global_attr_tbl[IDX].fld.flag2
03545 # endif
03546
03547 # ifdef _DEBUG
03548 # define GAP_NEEDS_EXPL_ITRFC(IDX) \
03549 ((GA_OBJ_CLASS(IDX) == Pgm_Unit) ? \
03550 global_attr_tbl : ga_var_error("GAP_NEEDS_EXPL_ITRFC", IDX)) \
03551 [IDX].fld.flag1
03552 # else
03553 # define GAP_NEEDS_EXPL_ITRFC(IDX) global_attr_tbl[IDX].fld.flag1
03554 # endif
03555
03556 # ifdef _DEBUG
03557 # define GAP_NEXT_PGM_UNIT_IDX(IDX) \
03558 ((GA_OBJ_CLASS(IDX) == Pgm_Unit) ? \
03559 global_attr_tbl : ga_var_error("GAP_NEXT_PGM_UNIT_IDX", IDX)) \
03560 [IDX].fld.field8
03561 # else
03562 # define GAP_NEXT_PGM_UNIT_IDX(IDX) global_attr_tbl[IDX].fld.field8
03563 # endif
03564
03565 # ifdef _DEBUG
03566 # define GAP_NOSIDE_EFFECTS(IDX) \
03567 ((GA_OBJ_CLASS(IDX) == Pgm_Unit) ? \
03568 global_attr_tbl : ga_var_error("GAP_NOSIDE_EFFECTS", IDX)) \
03569 [IDX].fld.flag5
03570 # else
03571 # define GAP_NOSIDE_EFFECTS(IDX) global_attr_tbl[IDX].fld.flag5
03572 # endif
03573
03574 # ifdef _DEBUG
03575 # define GAP_NUM_DARGS(IDX) \
03576 ((GA_OBJ_CLASS(IDX) == Pgm_Unit) ? \
03577 global_attr_tbl : ga_var_error("GAP_NUM_DARGS", IDX)) \
03578 [IDX].fld.field7
03579 # else
03580 # define GAP_NUM_DARGS(IDX) global_attr_tbl[IDX].fld.field7
03581 # endif
03582
03583 # ifdef _DEBUG
03584 # define GAP_PGM_UNIT(IDX) \
03585 ((GA_OBJ_CLASS(IDX) == Pgm_Unit) ? \
03586 global_attr_tbl : ga_var_error("GAP_PGM_UNIT", IDX)) \
03587 [IDX].fld.field5
03588 # else
03589 # define GAP_PGM_UNIT(IDX) global_attr_tbl[IDX].fld.field5
03590 # endif
03591
03592 # ifdef _DEBUG
03593 # define GAP_PGM_UNIT_DEFINED(IDX) \
03594 ((GA_OBJ_CLASS(IDX) == Pgm_Unit) ? \
03595 global_attr_tbl : ga_var_error("GAP_PGM_UNIT_DEFINED", IDX)) \
03596 [IDX].fld.flag4
03597 # else
03598 # define GAP_PGM_UNIT_DEFINED(IDX) global_attr_tbl[IDX].fld.flag4
03599 # endif
03600
03601 # ifdef _DEBUG
03602 # define GAP_PURE(IDX) \
03603 ((GA_OBJ_CLASS(IDX) == Pgm_Unit) ? \
03604 global_attr_tbl : ga_var_error("GAP_PURE", IDX)) \
03605 [IDX].fld.flag6
03606 # else
03607 # define GAP_PURE(IDX) global_attr_tbl[IDX].fld.flag6
03608 # endif
03609
03610 # ifdef _DEBUG
03611 # define GAP_RECURSIVE(IDX) \
03612 ((GA_OBJ_CLASS(IDX) == Pgm_Unit) ? \
03613 global_attr_tbl : ga_var_error("GAP_RECURSIVE", IDX)) \
03614 [IDX].fld.flag7
03615 # else
03616 # define GAP_RECURSIVE(IDX) global_attr_tbl[IDX].fld.flag7
03617 # endif
03618
03619 # ifdef _DEBUG
03620 # define GAP_RSLT_IDX(IDX) \
03621 ((GA_OBJ_CLASS(IDX) == Pgm_Unit) ? \
03622 global_attr_tbl : ga_var_error("GAP_RSLT_IDX", IDX)) \
03623 [IDX].fld.field3
03624 # else
03625 # define GAP_RSLT_IDX(IDX) global_attr_tbl[IDX].fld.field3
03626 # endif
03627
03628 # ifdef _DEBUG
03629 # define GAP_INLINE_STATE(IDX) \
03630 ((GA_OBJ_CLASS(IDX) == Pgm_Unit) ? \
03631 global_attr_tbl : ga_var_error("GAP_INLINE_STATE", IDX)) \
03632 [IDX].fld.field2
03633 # else
03634 # define GAP_INLINE_STATE(IDX) global_attr_tbl[IDX].fld.field2
03635 # endif
03636
03637 # ifdef _DEBUG
03638 # define GAP_VFUNCTION(IDX) \
03639 ((GA_OBJ_CLASS(IDX) == Pgm_Unit) ? \
03640 global_attr_tbl : ga_var_error("GAP_VFUNCTION", IDX)) \
03641 [IDX].fld.flag8
03642 # else
03643 # define GAP_VFUNCTION(IDX) global_attr_tbl[IDX].fld.flag8
03644 # endif
03645
03646
03647
03648
03649 # ifdef _DEBUG
03650 # define GAT_FIRST_CPNT_IDX(IDX) \
03651 ((GA_OBJ_CLASS(IDX) == Derived_Type) ? \
03652 global_attr_tbl : ga_var_error("GAT_FIRST_CPNT_IDX", IDX)) \
03653 [IDX].fld.field1
03654 # else
03655 # define GAT_FIRST_CPNT_IDX(IDX) global_attr_tbl[IDX].fld.field1
03656 # endif
03657
03658 # ifdef _DEBUG
03659 # define GAT_NUM_CPNTS(IDX) \
03660 ((GA_OBJ_CLASS(IDX) == Derived_Type) ? \
03661 global_attr_tbl : ga_var_error("GAT_NUM_CPNTS", IDX)) \
03662 [IDX].fld.field3
03663 # else
03664 # define GAT_NUM_CPNTS(IDX) global_attr_tbl[IDX].fld.field3
03665 # endif
03666
03667 # ifdef _DEBUG
03668 # define GAT_PRIVATE_CPNT(IDX) \
03669 ((GA_OBJ_CLASS(IDX) == Derived_Type) ? \
03670 global_attr_tbl : ga_var_error("GAT_PRIVATE_CPNT", IDX)) \
03671 [IDX].fld.flag1
03672 # else
03673 # define GAT_PRIVATE_CPNT(IDX) global_attr_tbl[IDX].fld.flag1
03674 # endif
03675
03676 # ifdef _DEBUG
03677 # define GAT_SEQUENCE_SET(IDX) \
03678 ((GA_OBJ_CLASS(IDX) == Derived_Type) ? \
03679 global_attr_tbl : ga_var_error("GAT_SEQUENCE_SET", IDX)) \
03680 [IDX].fld.flag2
03681 # else
03682 # define GAT_SEQUENCE_SET(IDX) global_attr_tbl[IDX].fld.flag2
03683 # endif
03684
03685 # ifdef _DEBUG
03686 # define GAT_STRUCT_LIN_TYPE(IDX) \
03687 ((GA_OBJ_CLASS(IDX) == Derived_Type) ? \
03688 global_attr_tbl : ga_var_error("GAT_STRUCT_LIN_TYPE", IDX)) \
03689 [IDX].wd.field32_6
03690 # else
03691 # define GAT_STRUCT_LIN_TYPE(IDX) global_attr_tbl[IDX].wd.field32_6
03692 # endif
03693
03694 # ifdef _DEBUG
03695 # define GAT_STRUCT_BIT_LEN(IDX) \
03696 ((GA_OBJ_CLASS(IDX) == Derived_Type) ? \
03697 global_attr_tbl : ga_var_error("GAT_STRUCT_BIT_LEN", IDX)) \
03698 [IDX].wd.length
03699 # else
03700 # define GAT_STRUCT_BIT_LEN(IDX) global_attr_tbl[IDX].wd.length
03701 # endif
03702
03703
03704
03705 # define GB_ARRAY_CLASS(IDX) global_bounds_tbl[IDX].hdr.array_class
03706 # define GB_ARRAY_SIZE(IDX) global_bounds_tbl[IDX].hdr.array_size
03707 # define GB_RANK(IDX) global_bounds_tbl[IDX].hdr.rank
03708
03709
03710
03711 # define GB_LOWER_BOUND(IDX,DIM) global_bounds_tbl[(IDX)+(DIM*3)-2].len
03712 # define GB_UPPER_BOUND(IDX,DIM) global_bounds_tbl[(IDX)+(DIM*3)-1].len
03713 # define GB_LB_TYPE(IDX,DIM) global_bounds_tbl[(IDX)+(DIM*3)].type.lb_type
03714 # define GB_UB_TYPE(IDX,DIM) global_bounds_tbl[(IDX)+(DIM*3)].type.ub_type
03715
03716
03717
03718 # define GL_CIF_FILE_ID(IDX) global_line_tbl[IDX].cif_file_id
03719 # define GL_FILE_LINE(IDX) global_line_tbl[IDX].file_line
03720 # define GL_FILE_NAME_IDX(IDX) global_line_tbl[IDX].file_name_idx
03721 # define GL_FILE_NAME_LEN(IDX) global_line_tbl[IDX].file_name_len
03722 # define GL_GLOBAL_LINE(IDX) global_line_tbl[IDX].global_line
03723 # define GL_INCLUDE_FILE_COL(IDX) global_line_tbl[IDX].incld_file_col
03724 # define GL_INCLUDE_FILE_LINE(IDX) global_line_tbl[IDX].incld_file_line
03725 # define GL_PATH_NAME_IDX(IDX) global_line_tbl[IDX].path_name_idx
03726 # define GL_PATH_NAME_LEN(IDX) global_line_tbl[IDX].path_name_len
03727 # define GL_SOURCE_LINES(IDX) global_line_tbl[IDX].source_lines
03728
03729 # define GL_FILE_NAME_LONG(IDX) &(str_pool[GL_FILE_NAME_IDX(IDX)].name_long)
03730 # define GL_FILE_NAME_PTR(IDX) &str_pool[GL_FILE_NAME_IDX(IDX)].name_char
03731
03732 # define GL_PATH_NAME_LONG(IDX) &(str_pool[GL_PATH_NAME_IDX(IDX)].name_long)
03733 # define GL_PATH_NAME_PTR(IDX) &str_pool[GL_PATH_NAME_IDX(IDX)].name_char
03734
03735
03736
03737
03738 # define GN_ATTR_IDX(IDX) global_name_tbl[IDX].attr_idx
03739 # define GN_NAME_IDX(IDX) global_name_tbl[IDX].name_idx
03740 # define GN_NAME_LEN(IDX) global_name_tbl[IDX].name_len
03741 # define GN_NAME_LONG(IDX) &(str_pool[GN_NAME_IDX(IDX)].name_long)
03742 # define GN_NAME_PTR(IDX) &str_pool[GN_NAME_IDX(IDX)].name_char
03743
03744
03745
03746 # define GT_BIT_LEN(IDX) global_type_tbl[IDX].fld.bit_len
03747 # define GT_CHAR_CLASS(IDX) global_type_tbl[IDX].fld.char_class
03748 # define GT_DCL_VALUE(IDX) global_type_tbl[IDX].fld.dcl_value
03749 # define GT_DESC(IDX) global_type_tbl[IDX].fld.desc
03750 # define GT_STRUCT_IDX(IDX) global_type_tbl[IDX].fld.type_idx
03751 # define GT_LENGTH(IDX) global_type_tbl[IDX].wd.length
03752 # define GT_LENGTH_LIN_TYPE(IDX) global_type_tbl[IDX].fld.len_lin_type
03753 # define GT_LINEAR_TYPE(IDX) global_type_tbl[IDX].fld.linear_type
03754 # define GT_PTR_INCREMENT(IDX) \
03755 global_type_tbl[IDX].wd.length[MAX_WORDS_FOR_INTEGER]
03756 # define GT_TYPE(IDX) global_type_tbl[IDX].fld.type
03757
03758
03759
03760 # define HN_ATTR_IDX(IDX) hidden_name_tbl[IDX].attr_idx
03761 # define HN_NAME_IDX(IDX) hidden_name_tbl[IDX].name_idx
03762 # define HN_NAME_LEN(IDX) hidden_name_tbl[IDX].name_len
03763
03764
03765
03766
03767 # define SCP_ATTR_IDX(IDX) scp_tbl[IDX].wd[0].fld1.field2
03768 # define SCP_LN_FW_IDX(IDX) scp_tbl[IDX].wd[1].fld1.field2
03769 # define SCP_LN_LW_IDX(IDX) scp_tbl[IDX].wd[2].fld1.field2
03770 # define SCP_FIRST_SH_IDX(IDX) scp_tbl[IDX].wd[3].fld1.field2
03771 # define SCP_LAST_SH_IDX(IDX) scp_tbl[IDX].wd[4].fld1.field2
03772 # define SCP_EXIT_IR_SH_IDX(IDX) scp_tbl[IDX].wd[5].fld1.field2
03773 # define SCP_ASSIGN_LBL_CHAIN(IDX) scp_tbl[IDX].wd[6].fld1.field2
03774 # define SCP_CIF_ID(IDX) scp_tbl[IDX].wd[7].fld1.field2
03775 # define SCP_HN_FW_IDX(IDX) scp_tbl[IDX].wd[8].fld1.field2
03776 # define SCP_HN_LW_IDX(IDX) scp_tbl[IDX].wd[9].fld1.field2
03777 # define SCP_OPTIONAL_CHAR_TMP(IDX) scp_tbl[IDX].wd[10].fld1.field2
03778 # define SCP_RETURN_LABEL(IDX) scp_tbl[IDX].wd[11].fld1.field2
03779 # define SCP_COPY_ASSUMED_LIST(IDX) scp_tbl[IDX].wd[12].fld1.field2
03780 # define SCP_WHICH_ENTRY_TMP(IDX) scp_tbl[IDX].wd[13].fld1.field2
03781 # define SCP_RESHAPE_ARRAY_LIST(IDX) scp_tbl[IDX].wd[14].fld1.field2
03782
03783 # define SCP_DEFAULT_STORAGE(IDX) scp_tbl[IDX].wd[24].fld2.field4
03784 # define SCP_LEVEL(IDX) scp_tbl[IDX].wd[23].fld2.field4
03785 # define SCP_CIF_ERR_LIST(IDX) scp_tbl[IDX].wd[23].fld2.field5
03786
03787 # define SCP_IS_INTERFACE(IDX) scp_tbl[IDX].wd[0].fld1.flag1
03788 # define SCP_IN_ERR(IDX) scp_tbl[IDX].wd[0].fld1.flag2
03789 # define SCP_IS_USED_PROC(IDX) scp_tbl[IDX].wd[0].fld1.flag3
03790 # define SCP_IMPL_NONE(IDX) scp_tbl[IDX].wd[1].fld1.flag1
03791 # define SCP_PARENT_NONE(IDX) scp_tbl[IDX].wd[1].fld1.flag2
03792 # define SCP_COPY_ASSUMED_SHAPE(IDX) scp_tbl[IDX].wd[1].fld1.flag3
03793 # define SCP_IGNORE_TKR(IDX) scp_tbl[IDX].wd[2].fld1.flag1
03794 # define SCP_HAS_CALLS(IDX) scp_tbl[IDX].wd[2].fld1.flag2
03795 # define SCP_DOES_IO(IDX) scp_tbl[IDX].wd[2].fld1.flag3
03796 #ifdef KEY
03797
03798
03799 # define SCP_USES_IEEE(IDX) scp_tbl[IDX].wd[3].fld1.flag1
03800 #endif
03801 #ifdef KEY
03802
03803 # define SCP_IMPORT(IDX) scp_tbl[IDX].wd[4].fld1.flag1
03804 #endif
03805 # define SCP_INLINE_SGI(IDX) scp_tbl[IDX].wd[3].fld1.flag2
03806 # define SCP_NOINLINE_SGI(IDX) scp_tbl[IDX].wd[3].fld1.flag3
03807 # define SCP_DBG_PRINT_SYTB(IDX) scp_tbl[IDX].wd[25].fld1.flag1
03808 # define SCP_DBG_PRINT_STMT(IDX) scp_tbl[IDX].wd[25].fld1.flag2
03809
03810 # define SCP_SIBLING_IDX(IDX) scp_tbl[IDX].wd[0].fld1.field3
03811 # define SCP_LAST_CHILD_IDX(IDX) scp_tbl[IDX].wd[1].fld1.field3
03812 # define SCP_TMP_FW_IDX2(IDX) scp_tbl[IDX].wd[2].fld1.field3
03813 # define SCP_PARENT_IDX(IDX) scp_tbl[IDX].wd[3].fld1.field3
03814 # define SCP_FIRST_CHILD_IDX(IDX) scp_tbl[IDX].wd[4].fld1.field3
03815 # define SCP_NUM_CHILDREN(IDX) scp_tbl[IDX].wd[5].fld1.field3
03816 # define SCP_DARG_LIST(IDX) scp_tbl[IDX].wd[6].fld1.field3
03817 # define SCP_ENTRY_IDX(IDX) scp_tbl[IDX].wd[7].fld1.field3
03818 # define SCP_USED_MODULE_LIST(IDX) scp_tbl[IDX].wd[8].fld1.field3
03819 # define SCP_FIRST_EQUIV_GRP(IDX) scp_tbl[IDX].wd[9].fld1.field3
03820 # define SCP_TMP_LIST(IDX) scp_tbl[IDX].wd[10].fld1.field3
03821 # define SCP_TMP_FW_IDX(IDX) scp_tbl[IDX].wd[11].fld1.field3
03822 # define SCP_SB_HOSTED_STACK_IDX(IDX) scp_tbl[IDX].wd[12].fld1.field3
03823 # define SCP_SB_STACK_IDX(IDX) scp_tbl[IDX].wd[13].fld1.field3
03824 # define SCP_SB_BASED_IDX(IDX) scp_tbl[IDX].wd[14].fld1.field3
03825 # define SCP_SB_DARG_IDX(IDX) scp_tbl[IDX].wd[15].fld1.field3
03826 # define SCP_SB_STATIC_IDX(IDX) scp_tbl[IDX].wd[16].fld1.field3
03827 # define SCP_SB_SYMMETRIC_IDX(IDX) scp_tbl[IDX].wd[17].fld1.field3
03828 # define SCP_ATTR_LIST_END(IDX) scp_tbl[IDX].wd[18].fld1.field3
03829 # define SCP_SB_HOSTED_STATIC_IDX(IDX) scp_tbl[IDX].wd[19].fld1.field3
03830 # define SCP_SB_STATIC_INIT_IDX(IDX) scp_tbl[IDX].wd[20].fld1.field3
03831 # define SCP_ATTR_LIST(IDX) scp_tbl[IDX].wd[21].fld1.field3
03832 # define SCP_ALT_ENTRY_CNT(IDX) scp_tbl[IDX].wd[22].fld1.field3
03833 # define SCP_SB_STATIC_UNINIT_IDX(IDX) scp_tbl[IDX].wd[23].fld1.field3
03834 # define SCP_SB_HOSTED_DATA_IDX(IDX) scp_tbl[IDX].wd[24].fld1.field3
03835 # define SCP_FILE_PATH_IDX(IDX) scp_tbl[IDX].wd[25].fld1.field3
03836
03837
03838
03839 # define IMPL_IDX(CH) CH - 'A'
03840 # define IM_SET(SIDX,IDX) scp_tbl[SIDX].wd[IDX].fld1.typed
03841 # define IM_STORAGE(SIDX,IDX) scp_tbl[SIDX].wd[IDX].fld1.storage
03842 # define IM_TYPE_IDX(SIDX,IDX) scp_tbl[SIDX].wd[IDX].fld1.type_idx
03843
03844
03845 # define OLD_IR_OPR(IDX) old_ir_tbl[IDX].opr.the_operator
03846 # define OLD_IR_RANK(IDX) old_ir_tbl[IDX].opr.rank
03847 # define OLD_IR_DV_DIM(IDX) old_ir_tbl[IDX].opr.dim
03848
03849 # define IR_COL_NUM(IDX) ir_tbl[IDX].opr.col_num
03850 # define IR_LINE_NUM(IDX) ir_tbl[IDX].opr.line_num
03851 # define IR_NEXT_IDX(IDX) ir_tbl[IDX].opr.line_num
03852 # define IR_OPR(IDX) ir_tbl[IDX].opr.the_operator
03853 # define IR_TYPE_IDX(IDX) ir_tbl[IDX].opr.type_idx
03854
03855 # define IR_RANK(IDX) ir_tbl[IDX].opr.rank
03856 # define IR_DV_DIM(IDX) ir_tbl[IDX].opr.dim
03857 #ifdef KEY
03858
03859
03860
03861 # define IR_DV_N_ALLOC_CPNT(IDX) ir_tbl[IDX].opr.n_alloc_cpnt
03862 #endif
03863 # define IR_CONTIG_ARRAY(IDX) ir_tbl[IDX].opr.dim
03864 # define IR_WHOLE_ARRAY(IDX) ir_tbl[IDX].opr.dim
03865 # define IR_INLINE_STATE(IDX) ir_tbl[IDX].opr.dim
03866
03867 # define IR_COL_NUM_L(IDX) ir_tbl[IDX].op_l.col_num
03868 # define IR_FLD_L(IDX) ir_tbl[IDX].op_l.fld
03869 # define IR_IDX_L(IDX) ir_tbl[IDX].op_l.idx
03870 # define IR_LINE_NUM_L(IDX) ir_tbl[IDX].op_l.line_num
03871 # define IR_LIST_CNT_L(IDX) ir_tbl[IDX].op_l.line_num
03872 # define IR_SHORT_CIRCUIT_L(IDX) ir_tbl[IDX].op_l.flag_1
03873 # define IR_ARRAY_SYNTAX(IDX) ir_tbl[IDX].op_l.flag_2
03874
03875 # define IR_COL_NUM_R(IDX) ir_tbl[IDX].op_r.col_num
03876 # define IR_FLD_R(IDX) ir_tbl[IDX].op_r.fld
03877 # define IR_IDX_R(IDX) ir_tbl[IDX].op_r.idx
03878 # define IR_LINE_NUM_R(IDX) ir_tbl[IDX].op_r.line_num
03879 # define IR_LIST_CNT_R(IDX) ir_tbl[IDX].op_r.line_num
03880 # define IR_SHORT_CIRCUIT_R(IDX) ir_tbl[IDX].op_r.flag_1
03881 # define IR_BOUNDS_DONE(IDX) ir_tbl[IDX].op_r.flag_2
03882
03883 # define IR_OPND_L(IDX) ir_tbl[IDX].op_l
03884 # define IR_OPND_R(IDX) ir_tbl[IDX].op_r
03885
03886
03887
03888
03889 # define IL_NEXT_LIST_IDX(IDX) ir_list_tbl[IDX].il.link.nxt_idx
03890 # define IL_IDX(IDX) ir_list_tbl[IDX].il.op.idx
03891 # define IL_LINE_NUM(IDX) ir_list_tbl[IDX].il.op.line_num
03892 # define IL_COL_NUM(IDX) ir_list_tbl[IDX].il.op.col_num
03893 # define IL_LIST_CNT(IDX) ir_list_tbl[IDX].il.op.line_num
03894 # define IL_FLD(IDX) ir_list_tbl[IDX].il.op.fld
03895 # define IL_ARG_DESC_VARIANT(IDX) ir_list_tbl[IDX].il.link.arg_desc
03896
03897 # ifdef _DEBUG
03898 # define IL_PREV_LIST_IDX(IDX) \
03899 (! IL_ARG_DESC_VARIANT(IDX) ? \
03900 ir_list_tbl : ir_list_var_error("IL_PREV_LIST_IDX", IDX)) \
03901 [IDX].il.link.prev_idx
03902 # else
03903 # define IL_PREV_LIST_IDX(IDX) ir_list_tbl[IDX].il.link.prev_idx
03904 # endif
03905
03906 # ifdef _DEBUG
03907 # define IL_ARG_DESC_IDX(IDX) \
03908 (IL_ARG_DESC_VARIANT(IDX) ? \
03909 ir_list_tbl : ir_list_var_error("IL_ARG_DESC_IDX", IDX)) \
03910 [IDX].il.link.prev_idx
03911 # else
03912 # define IL_ARG_DESC_IDX(IDX) ir_list_tbl[IDX].il.link.prev_idx
03913 # endif
03914
03915
03916 # define IL_VECTOR_SUBSCRIPT(IDX) ir_list_tbl[IDX].il.link.flag_1
03917 # define IL_CONSTANT_SUBSCRIPT(IDX) ir_list_tbl[IDX].il.link.flag_2
03918 # define IL_PE_SUBSCRIPT(IDX) ir_list_tbl[IDX].il.link.flag_3
03919
03920
03921 # define IL_NAMELIST_EXPECTED(IDX) ir_list_tbl[IDX].il.link.flag_1
03922 # define IL_FORMAT_EXPECTED(IDX) ir_list_tbl[IDX].il.link.flag_2
03923
03924
03925 # define IL_HAS_FUNCTIONS(IDX) ir_list_tbl[IDX].il.link.flag_1
03926 # define IL_MUST_BE_LOOP(IDX) ir_list_tbl[IDX].il.link.flag_2
03927 # define IL_MUST_FLATTEN(IDX) ir_list_tbl[IDX].il.link.flag_3
03928 # define IL_HAS_CONSTRUCTOR(IDX) ir_list_tbl[IDX].il.link.flag_4
03929 # define IL_STRUCT_REF(IDX) ir_list_tbl[IDX].il.link.flag_5
03930 # define IL_INTRIN_PLACE_HOLDER(IDX) ir_list_tbl[IDX].il.link.flag_6
03931 # define IL_NONDEFAULT_IMP_DO_LCV(IDX) ir_list_tbl[IDX].il.link.flag_7
03932 # define IL_DISTRIBUTION_VARIANT(IDX) ir_list_tbl[IDX].il.link.flag_8
03933
03934
03935 # define IL_FORWARD_REF(IDX) ir_list_tbl[IDX].il.link.for_ref
03936 # define IL_DISTRIBUTION(IDX) ir_list_tbl[IDX].il.link.for_ref
03937
03938 # define IL_WORD(IDX,WD) ir_list_tbl[IDX].words[WD]
03939 # define IL_ELEMENT(IDX) ir_list_tbl[IDX].il_long64.lwd2
03940
03941 # define IL_OPND(IDX) ir_list_tbl[IDX].il.op
03942
03943
03944
03945
03946 # define SH_CIF_SKIP_ME(IDX) sh_tbl[IDX].cif_skip_me
03947 # define SH_COL_NUM(IDX) sh_tbl[IDX].col_num
03948 # define SH_COMPILER_GEN(IDX) sh_tbl[IDX].compiler_gen
03949 # define SH_DOALL_LOOP_END(IDX) sh_tbl[IDX].doall_loop_end
03950 # define SH_ERR_FLG(IDX) sh_tbl[IDX].stmt_parse_err
03951 # define SH_GLB_LINE(IDX) sh_tbl[IDX].glb_line_num
03952 # define SH_ACTION_STMT(IDX) sh_tbl[IDX].action_stmt
03953 # define SH_INLINING_ATTEMPTED(IDX) sh_tbl[IDX].inlining_attempted
03954 # define SH_IR_IDX(IDX) sh_tbl[IDX].ir_idx
03955 # define SH_LABELED(IDX) sh_tbl[IDX].labeled
03956 # define SH_LOOP_END(IDX) sh_tbl[IDX].loop_end
03957 # define SH_NEXT_IDX(IDX) sh_tbl[IDX].next_sh_idx
03958 # define SH_P2_SKIP_ME(IDX) sh_tbl[IDX].skip_pass_2
03959 # define SH_PARENT_BLK_IDX(IDX) sh_tbl[IDX].parent_blk_idx
03960 # define SH_PREV_IDX(IDX) sh_tbl[IDX].prev_sh_idx
03961 # define OLD_SH_STMT_TYPE(IDX) sh_tbl[IDX].old_stmt_type
03962 # define SH_STMT_TYPE(IDX) sh_tbl[IDX].stmt_type
03963
03964
03965
03966
03967
03968
03969 # define GL_IR_COL_NUM(IDX) global_ir_tbl[IDX].opr.col_num
03970 # define GL_IR_LINE_NUM(IDX) global_ir_tbl[IDX].opr.line_num
03971 # define GL_IR_NEXT_IDX(IDX) global_ir_tbl[IDX].opr.line_num
03972 # define GL_IR_OPR(IDX) global_ir_tbl[IDX].opr.the_operator
03973 # define GL_IR_TYPE_IDX(IDX) global_ir_tbl[IDX].opr.type_idx
03974
03975 # define GL_IR_RANK(IDX) global_ir_tbl[IDX].opr.rank
03976 # define GL_IR_DV_DIM(IDX) global_ir_tbl[IDX].opr.dim
03977 # define GL_IR_CONTIG_ARRAY(IDX) global_ir_tbl[IDX].opr.dim
03978 # define GL_IR_WHOLE_ARRAY(IDX) global_ir_tbl[IDX].opr.dim
03979 # define GL_IR_INLINE_STATE(IDX) global_ir_tbl[IDX].opr.dim
03980
03981 # define GL_IR_COL_NUM_L(IDX) global_ir_tbl[IDX].op_l.col_num
03982 # define GL_IR_FLD_L(IDX) global_ir_tbl[IDX].op_l.fld
03983 # define GL_IR_IDX_L(IDX) global_ir_tbl[IDX].op_l.idx
03984 # define GL_IR_LINE_NUM_L(IDX) global_ir_tbl[IDX].op_l.line_num
03985 # define GL_IR_LIST_CNT_L(IDX) global_ir_tbl[IDX].op_l.line_num
03986 # define GL_IR_SHORT_CIRCUIT_L(IDX) global_ir_tbl[IDX].op_l.flag_1
03987 # define GL_IR_ARRAY_SYNTAX(IDX) global_ir_tbl[IDX].op_l.flag_2
03988
03989 # define GL_IR_COL_NUM_R(IDX) global_ir_tbl[IDX].op_r.col_num
03990 # define GL_IR_FLD_R(IDX) global_ir_tbl[IDX].op_r.fld
03991 # define GL_IR_IDX_R(IDX) global_ir_tbl[IDX].op_r.idx
03992 # define GL_IR_LINE_NUM_R(IDX) global_ir_tbl[IDX].op_r.line_num
03993 # define GL_IR_LIST_CNT_R(IDX) global_ir_tbl[IDX].op_r.line_num
03994 # define GL_IR_SHORT_CIRCUIT_R(IDX) global_ir_tbl[IDX].op_r.flag_1
03995
03996 # define GL_IR_OPND_L(IDX) global_ir_tbl[IDX].op_l
03997 # define GL_IR_OPND_R(IDX) global_ir_tbl[IDX].op_r
03998
03999
04000
04001
04002 # define GL_IL_NEXT_LIST_IDX(IDX) global_ir_list_tbl[IDX].il.link.nxt_idx
04003 # define GL_IL_IDX(IDX) global_ir_list_tbl[IDX].il.op.idx
04004 # define GL_IL_LINE_NUM(IDX) global_ir_list_tbl[IDX].il.op.line_num
04005 # define GL_IL_COL_NUM(IDX) global_ir_list_tbl[IDX].il.op.col_num
04006 # define GL_IL_LIST_CNT(IDX) global_ir_list_tbl[IDX].il.op.line_num
04007 # define GL_IL_FLD(IDX) global_ir_list_tbl[IDX].il.op.fld
04008 # define GL_IL_ARG_DESC_VARIANT(IDX) global_ir_list_tbl[IDX].il.link.arg_desc
04009
04010 # define GL_IL_PREV_LIST_IDX(IDX) global_ir_list_tbl[IDX].il.link.prev_idx
04011 # define GL_IL_ARG_DESC_IDX(IDX) global_ir_list_tbl[IDX].il.link.prev_idx
04012
04013
04014 # define GL_IL_VECTOR_SUBSCRIPT(IDX) global_ir_list_tbl[IDX].il.link.flag_1
04015 # define GL_IL_CONSTANT_SUBSCRIPT(IDX) global_ir_list_tbl[IDX].il.link.flag_2
04016 # define GL_IL_PE_SUBSCRIPT(IDX) global_ir_list_tbl[IDX].il.link.flag_3
04017
04018
04019 # define GL_IL_NAMELIST_EXPECTED(IDX) global_ir_list_tbl[IDX].il.link.flag_1
04020 # define GL_IL_FORMAT_EXPECTED(IDX) global_ir_list_tbl[IDX].il.link.flag_2
04021
04022
04023 # define GL_IL_HAS_FUNCTIONS(IDX) global_ir_list_tbl[IDX].il.link.flag_1
04024 # define GL_IL_MUST_BE_LOOP(IDX) global_ir_list_tbl[IDX].il.link.flag_2
04025 # define GL_IL_MUST_FLATTEN(IDX) global_ir_list_tbl[IDX].il.link.flag_3
04026 # define GL_IL_HAS_CONSTRUCTOR(IDX) global_ir_list_tbl[IDX].il.link.flag_4
04027 # define GL_IL_STRUCT_REF(IDX) global_ir_list_tbl[IDX].il.link.flag_5
04028 # define GL_IL_INTRIN_PLACE_HOLDER(IDX) global_ir_list_tbl[IDX].il.link.flag_6
04029 # define GL_IL_NONDEFAULT_IMP_DO_LCV(IDX) global_ir_list_tbl[IDX].il.link.flag_7
04030 # define GL_IL_DISTRIBUTION_VARIANT(IDX) global_ir_list_tbl[IDX].il.link.flag_8
04031
04032
04033 # define GL_IL_FORWARD_REF(IDX) global_ir_list_tbl[IDX].il.link.for_ref
04034 # define GL_IL_DISTRIBUTION(IDX) global_ir_list_tbl[IDX].il.link.for_ref
04035
04036 # define GL_IL_WORD(IDX,WD) global_ir_list_tbl[IDX].words[WD]
04037
04038 # define GL_IL_OPND(IDX) global_ir_list_tbl[IDX].il.op
04039
04040
04041
04042
04043 # define GL_SH_CIF_SKIP_ME(IDX) global_sh_tbl[IDX].cif_skip_me
04044 # define GL_SH_COL_NUM(IDX) global_sh_tbl[IDX].col_num
04045 # define GL_SH_COMPILER_GEN(IDX) global_sh_tbl[IDX].compiler_gen
04046 # define GL_SH_DOALL_LOOP_END(IDX) global_sh_tbl[IDX].doall_loop_end
04047 # define GL_SH_ERR_FLG(IDX) global_sh_tbl[IDX].stmt_parse_err
04048 # define GL_SH_GLB_LINE(IDX) global_sh_tbl[IDX].glb_line_num
04049 # define GL_SH_INLINING_ATTEMPTED(IDX) global_sh_tbl[IDX].inlining_attempted
04050 # define GL_SH_IR_IDX(IDX) global_sh_tbl[IDX].ir_idx
04051 # define GL_SH_LABELED(IDX) global_sh_tbl[IDX].labeled
04052 # define GL_SH_LOOP_END(IDX) global_sh_tbl[IDX].loop_end
04053 # define GL_SH_NEXT_IDX(IDX) global_sh_tbl[IDX].next_sh_idx
04054 # define GL_SH_P2_SKIP_ME(IDX) global_sh_tbl[IDX].skip_pass_2
04055 # define GL_SH_PARENT_BLK_IDX(IDX) global_sh_tbl[IDX].parent_blk_idx
04056 # define GL_SH_PREV_IDX(IDX) global_sh_tbl[IDX].prev_sh_idx
04057 # define GL_SH_STMT_TYPE(IDX) global_sh_tbl[IDX].stmt_type
04058
04059
04060
04061 # define ML_AT_IDX(IDX) mod_link_tbl[IDX].at_idx
04062 # define ML_AT_COMPRESSED_IDX(IDX) mod_link_tbl[IDX].at_compressed
04063 # define ML_AT_KEEP_ME(IDX) mod_link_tbl[IDX].at_keep_me
04064 # define ML_AT_LN_NAME(IDX) mod_link_tbl[IDX].at_ln_name
04065 # define ML_AT_SEARCHED(IDX) mod_link_tbl[IDX].at_searched
04066 # define ML_AT_SEARCH_ME(IDX) mod_link_tbl[IDX].at_search_me
04067 # define ML_BD_IDX(IDX) mod_link_tbl[IDX].bd_idx
04068 # define ML_BD_KEEP_ME(IDX) mod_link_tbl[IDX].bd_keep_me
04069 # define ML_CN_IDX(IDX) mod_link_tbl[IDX].cn_idx
04070 # define ML_CN_KEEP_ME(IDX) mod_link_tbl[IDX].cn_keep_me
04071 # define ML_CP_DALIGN_ME(IDX) mod_link_tbl[IDX].cp_dalign_me
04072 # define ML_CP_IDX(IDX) mod_link_tbl[IDX].cp_idx
04073 # define ML_CP_KEEP_ME(IDX) mod_link_tbl[IDX].cp_keep_me
04074 # define ML_CP_LEN(IDX) mod_link_tbl[IDX].cp_len
04075 # define ML_IL_IDX(IDX) mod_link_tbl[IDX].il_idx
04076 # define ML_IL_KEEP_ME(IDX) mod_link_tbl[IDX].il_keep_me
04077 # define ML_IR_IDX(IDX) mod_link_tbl[IDX].ir_idx
04078 # define ML_IR_KEEP_ME(IDX) mod_link_tbl[IDX].ir_keep_me
04079 # define ML_LN_IDX(IDX) mod_link_tbl[IDX].ln_idx
04080 # define ML_LN_KEEP_ME(IDX) mod_link_tbl[IDX].ln_keep_me
04081 # define ML_NP_IDX(IDX) mod_link_tbl[IDX].np_idx
04082 # define ML_NP_KEEP_ME(IDX) mod_link_tbl[IDX].np_keep_me
04083 # define ML_NP_LEN(IDX) mod_link_tbl[IDX].np_len
04084 # define ML_SB_IDX(IDX) mod_link_tbl[IDX].sb_idx
04085 # define ML_SB_KEEP_ME(IDX) mod_link_tbl[IDX].sb_keep_me
04086 # define ML_SH_IDX(IDX) mod_link_tbl[IDX].sh_idx
04087 # define ML_SH_KEEP_ME(IDX) mod_link_tbl[IDX].sh_keep_me
04088 # define ML_SN_IDX(IDX) mod_link_tbl[IDX].sn_idx
04089 # define ML_SN_KEEP_ME(IDX) mod_link_tbl[IDX].sn_keep_me
04090 # define ML_TYP_IDX(IDX) mod_link_tbl[IDX].typ_idx
04091 # define ML_TYP_KEEP_ME(IDX) mod_link_tbl[IDX].typ_keep_me
04092
04093
04094
04095
04096 # define LN_ATTR_IDX(IDX) loc_name_tbl[IDX].attr_idx
04097 # define LN_DEF_LOC(IDX) loc_name_tbl[IDX].def_locally
04098 # define LN_IN_ONLY_LIST(IDX) loc_name_tbl[IDX].in_only_list
04099 # define LN_NAME_IDX(IDX) loc_name_tbl[IDX].name_idx
04100 # define LN_NAME_LEN(IDX) loc_name_tbl[IDX].name_len
04101 # define LN_NAME_LONG(IDX) &(name_pool[LN_NAME_IDX(IDX)].name_long)
04102 # define LN_NEW_NAME(IDX) loc_name_tbl[IDX].new_name
04103 # define LN_RENAMED(IDX) loc_name_tbl[IDX].renamed
04104
04105
04106
04107
04108 # define PDG_AT_IDX(IDX) pdg_link_tbl[IDX].at_idx
04109 # define PDG_AT_TYP_IDX(IDX) pdg_link_tbl[IDX].at_typ_idx
04110 # define PDG_CN_IDX(IDX) pdg_link_tbl[IDX].cn_idx
04111 # define PDG_SB_IDX(IDX) pdg_link_tbl[IDX].sb_idx
04112
04113
04114
04115
04116 # define RO_COLUMN_NUM(IDX) rename_only_tbl[IDX].column_num
04117 # define RO_DUPLICATE_RENAME(IDX) rename_only_tbl[IDX].duplicate_rename
04118 # define RO_LINE_NUM(IDX) rename_only_tbl[IDX].line_num
04119 # define RO_NAME_IDX(IDX) rename_only_tbl[IDX].name_idx
04120 # define RO_NAME_LEN(IDX) rename_only_tbl[IDX].name_len
04121 # define RO_NAME_LONG(IDX) &(name_pool[RO_NAME_IDX(IDX)].name_long)
04122 # define RO_NAME_PTR(IDX) &name_pool[RO_NAME_IDX(IDX)].name_char
04123 # define RO_NEXT_IDX(IDX) rename_only_tbl[IDX].next_idx
04124 # define RO_RENAME_IDX(IDX) rename_only_tbl[IDX].rename_idx
04125 # define RO_RENAME_NAME(IDX) rename_only_tbl[IDX].rename_name
04126
04127
04128
04129
04130 # define SN_ATTR_IDX(IDX) sec_name_tbl[IDX].attr_idx
04131 # define SN_COLUMN_NUM(IDX) sec_name_tbl[IDX].column_num
04132 # define SN_LINE_NUM(IDX) sec_name_tbl[IDX].line_num
04133 # define SN_MATCHED_DARG(IDX) sec_name_tbl[IDX].matched
04134 # define SN_NAME_IDX(IDX) sec_name_tbl[IDX].name_idx
04135 # define SN_NAME_LEN(IDX) sec_name_tbl[IDX].length
04136 # define SN_SIBLING_LINK(IDX) sec_name_tbl[IDX].sibling_link
04137
04138
04139
04140
04141 # define SB_ALIGN_SYMBOL(IDX) stor_blk_tbl[IDX].fld.align_symbol
04142 # define SB_AUXILIARY(IDX) stor_blk_tbl[IDX].fld.auxiliary
04143 # define SB_BLANK_COMMON(IDX) stor_blk_tbl[IDX].fld.blank_common
04144 # define SB_BLK_HAS_NPES(IDX) stor_blk_tbl[IDX].fld.blk_has_npes
04145 # define SB_BLK_TYPE(IDX) stor_blk_tbl[IDX].fld.sb_type
04146 # define OLD_SB_BLK_TYPE(IDX) stor_blk_tbl[IDX].fld.old_sb_type
04147 # define SB_CACHE_ALIGN(IDX) stor_blk_tbl[IDX].fld.cache_align
04148 # define SB_CIF_SYMBOL_ID(IDX) stor_blk_tbl[IDX].fld.cif_idx
04149 # define SB_COMMON_NEEDS_OFFSET(IDX) stor_blk_tbl[IDX].fld.needs_offset
04150 # define SB_DCL_ERR(IDX) stor_blk_tbl[IDX].fld.dcl_err
04151 # define SB_DCL_COMMON_DIR(IDX) stor_blk_tbl[IDX].fld.dcl_common_dir
04152 # define SB_DEF_COLUMN(IDX) stor_blk_tbl[IDX].fld.def_column
04153 # define SB_DEF_MULT_SCPS(IDX) stor_blk_tbl[IDX].fld.def_mult_scps
04154 # define SB_DEF_LINE(IDX) stor_blk_tbl[IDX].fld.def_line
04155 # define SB_DUPLICATE_COMMON(IDX) stor_blk_tbl[IDX].fld.duplicate_common
04156 # define SB_EQUIVALENCED(IDX) stor_blk_tbl[IDX].fld.equivalenced
04157 #ifdef KEY
04158 # define SB_BIND_ATTR(IDX) stor_blk_tbl[IDX].fld.bind_attr
04159 # define SB_EXT_NAME_IDX(IDX) stor_blk_tbl[IDX].fld.ext_name_idx
04160 # define SB_EXT_NAME_LEN(IDX) stor_blk_tbl[IDX].fld.ext_name_len
04161 # define SB_EXT_NAME(IDX) name_pool[SB_EXT_NAME_IDX(IDX)].name_char
04162 # define SB_EXT_NAME_PTR(IDX) &name_pool[SB_EXT_NAME_IDX(IDX)].name_char
04163 #endif
04164 # define SB_FILL_SYMBOL(IDX) stor_blk_tbl[IDX].fld.fill_symbol
04165 # define SB_FIRST_ATTR_IDX(IDX) stor_blk_tbl[IDX].fld.first_attr_idx
04166 # define SB_HAS_RENAMES(IDX) stor_blk_tbl[IDX].fld.has_renames
04167 # define SB_HIDDEN(IDX) stor_blk_tbl[IDX].fld.hidden
04168 # define SB_HOST_ASSOCIATED(IDX) stor_blk_tbl[IDX].fld.host_associated
04169 # define SB_HOSTED_STACK(IDX) stor_blk_tbl[IDX].fld.hosted_stack
04170 # define SB_HOSTED_STATIC(IDX) stor_blk_tbl[IDX].fld.hosted_static
04171 # define SB_IS_COMMON(IDX) stor_blk_tbl[IDX].fld.is_common
04172 # define SB_LAST_ATTR_LIST(IDX) stor_blk_tbl[IDX].fld.last_attr_list
04173 # define SB_LEN_FLD(IDX) stor_blk_tbl[IDX].fld.len_fld
04174 # define SB_LEN_IDX(IDX) stor_blk_tbl[IDX].fld.len_idx
04175 # define SB_MERGED_BLK_IDX(IDX) stor_blk_tbl[IDX].fld.merged_blk_idx
04176 # define SB_MODULE_IDX(IDX) stor_blk_tbl[IDX].fld.module_idx
04177 # define SB_MODULE(IDX) stor_blk_tbl[IDX].fld.module
04178 # define SB_NAME_IDX(IDX) stor_blk_tbl[IDX].fld.name_idx
04179 # define SB_NAME_PTR(IDX) &name_pool[SB_NAME_IDX(IDX)].name_char
04180 # define SB_NAME_LONG(IDX) &(name_pool[SB_NAME_IDX(IDX)].name_long)
04181 # define SB_NAME(IDX) name_pool[SB_NAME_IDX(IDX)].name_char
04182 # define SB_NAME_IN_STONE(IDX) stor_blk_tbl[IDX].fld.name_in_stone
04183 # define SB_NAME_LEN(IDX) stor_blk_tbl[IDX].fld.name_len
04184 # define SB_ORIG_SCP_IDX(IDX) stor_blk_tbl[IDX].fld.orig_scp_idx
04185 #ifdef KEY
04186
04187
04188
04189 # define SB_PAD_AMOUNT(IDX) cmd_line_flags.pad_amount
04190 #else
04191 # define SB_PAD_AMOUNT(IDX) stor_blk_tbl[IDX].fld.pad_amount
04192 #endif
04193 # define SB_PAD_AMOUNT_SET(IDX) stor_blk_tbl[IDX].fld.pad_amount_set
04194 # define SB_PAD_BLK(IDX) stor_blk_tbl[IDX].fld.pad_blk
04195 # define SB_RUNTIME_INIT(IDX) stor_blk_tbl[IDX].fld.runtime_init
04196 # define SB_SAVED(IDX) stor_blk_tbl[IDX].fld.saved
04197 # define SB_SCP_IDX(IDX) stor_blk_tbl[IDX].fld.scp_idx
04198 # define SB_SECTION_GP(IDX) stor_blk_tbl[IDX].fld.section_gp
04199 # define SB_SECTION_NON_GP(IDX) stor_blk_tbl[IDX].fld.section_non_gp
04200 # define SB_SYMMETRIC(IDX) stor_blk_tbl[IDX].fld.symmetric
04201 # define SB_USE_ASSOCIATED(IDX) stor_blk_tbl[IDX].fld.use_associated
04202 # define SB_VOLATILE(IDX) stor_blk_tbl[IDX].fld.x_volatile
04203
04204
04205
04206
04207 # define TYP_BIT_LEN(IDX) type_tbl[IDX].fld.bit_len
04208 # define TYP_BIT_LEN_F(IDX) type_tbl[IDX].wd.length
04209 # define TYP_CHAR_CLASS(IDX) type_tbl[IDX].fld.char_class
04210 # define TYP_DCL_VALUE(IDX) type_tbl[IDX].fld.dcl_value
04211 # define TYP_DECLARED_DBL(IDX) type_tbl[IDX].fld.declared_dbl
04212 # define TYP_DESC(IDX) type_tbl[IDX].fld.desc
04213 # define TYP_DP_HIT_ME(IDX) type_tbl[IDX].fld.dp_hit_me
04214 # define TYP_FLD(IDX) type_tbl[IDX].fld.type_fld
04215 # define TYP_IDX(IDX) type_tbl[IDX].fld.type_idx
04216 # define TYP_IS_BYTE(IDX) type_tbl[IDX].fld.type_is_byte
04217 # define TYP_LINEAR(IDX) type_tbl[IDX].fld.linear_type
04218 # define TYP_ORIG_LEN_IDX(IDX) type_tbl[IDX].fld.bit_len
04219 # define TYP_PTR_INCREMENT(IDX) type_tbl[IDX].fld.bit_len
04220 # define TYP_RESOLVED(IDX) type_tbl[IDX].fld.resolved
04221 # define TYP_TYPE(IDX) type_tbl[IDX].fld.type
04222 # define TYP_KIND_CONST(IDX) type_tbl[IDX].fld.kind_const
04223 # define TYP_KIND_DOUBLE(IDX) type_tbl[IDX].fld.kind_double
04224
04225 # define OLD_TYP_DP_HIT_ME(IDX) type_tbl[IDX].wd.old_dp_hit_me
04226 # define OLD_TYP_FLD(IDX) type_tbl[IDX].fld.old_type_fld
04227 # define OLD_TYP_RESOLVED(IDX) type_tbl[IDX].wd.old_resolved
04228 # define OLD_TYP_TYPE(IDX) type_tbl[IDX].wd.old_type
04229
04230
04231
04232
04233
04234
04235
04236 # define MSK_NAME_IDX 0000000000000077777777
04237 # define MSK_NAME_LEN 0000000000000000000377
04238
04239 # if defined(_HOST64) && !defined(_WHIRL_HOST64_TARGET64)
04240 # define SN_NP_IDX(IDX) (sn_tbl_base[(IDX)<<1] & MSK_NAME_IDX)
04241 # else
04242 # define SN_NP_IDX(IDX) SN_NAME_IDX(IDX)
04243 # endif
04244
04245 # if defined(_HOST64) && !defined(_WHIRL_HOST64_TARGET64)
04246 # define SN_LEN(IDX) ((sn_tbl_base[(IDX)<<1]>>24)&MSK_NAME_LEN)
04247 # else
04248 # define SN_LEN(IDX) SN_NAME_LEN(IDX)
04249 # endif
04250
04251
04252
04253
04254 # ifdef _HOST_OS_UNICOS
04255 # define RIGHT_JUSTIFY_SIGN_BIT(I) (I) >> (8 * sizeof(long) - 1)
04256 # else
04257 # define RIGHT_JUSTIFY_SIGN_BIT(I) ((unsigned long) (I) >> (8 * sizeof(long)-1))
04258 # endif
04259
04260 # define STRIDE_CALC(SEG_LEN) (((SEG_LEN) + _MAXVL - 1) / _MAXVL)
04261 # define WORD_LEN(ID_LEN) ((ID_LEN) + sizeof(long)) / sizeof(long)
04262
04263
04264
04265
04266
04267
04268 # define CLEAR_ATTR_NTRY(IDX) \
04269 CLEAR_TBL_NTRY(attr_tbl, IDX); \
04270 CLEAR_TBL_NTRY(attr_aux_tbl, IDX);
04271
04272 # define CLEAR_TBL_NTRY(TBL,IDX) \
04273 { \
04274 long *_tbl_idx; \
04275 int _tbl_i; \
04276 int _size; \
04277 _tbl_idx = ((long *) (&TBL[IDX])); \
04278 _size = TBL##_num_wds; \
04279 Pragma("_CRI shortloop") \
04280 for (_tbl_i = 0; _tbl_i < _size; _tbl_i++) { \
04281 *(_tbl_idx) = 0; \
04282 _tbl_idx++; \
04283 } \
04284 }
04285
04286 # define COPY_ATTR_NTRY(TO, FROM) \
04287 attr_tbl[TO] = attr_tbl[FROM]; \
04288 attr_aux_tbl[TO] = attr_aux_tbl[FROM];
04289
04290
04291 # define COPY_TBL_NTRY(TBL, TO, FROM) \
04292 { \
04293 long *_to_idx, *_from_idx; \
04294 int _idx; \
04295 int _size; \
04296 _from_idx = ((long *) (&TBL[FROM])); \
04297 _to_idx = ((long *) (&TBL[TO])); \
04298 _size = TBL##_num_wds; \
04299 Pragma("_CRI shortloop") \
04300 for (_idx = 0; _idx < _size; _idx++) { \
04301 *(_to_idx) = *(_from_idx); \
04302 _to_idx++; \
04303 _from_idx++; \
04304 } \
04305 }
04306
04307 # define COPY_GL_TBL_NTRY(TBL1, TBL2, TO, FROM) \
04308 { \
04309 long *_to_idx, *_from_idx; \
04310 int _idx; \
04311 _from_idx = ((long *) (&TBL2[FROM])); \
04312 _to_idx = ((long *) (&TBL1[TO])); \
04313 Pragma("_CRI shortloop") \
04314 for (_idx = 0; _idx < TBL2##_num_wds; _idx++) { \
04315 *(_to_idx) = *(_from_idx); \
04316 _to_idx++; \
04317 _from_idx++; \
04318 } \
04319 }
04320
04321
04322 # define COPY_BD_NTRY(TO, FROM) \
04323 { \
04324 int _idx, _bd_num; \
04325 int _size; \
04326 long *_to_idx, *_from_idx; \
04327 _from_idx = ((long *) (&bounds_tbl[FROM])); \
04328 _to_idx = ((long *) (&bounds_tbl[TO])); \
04329 _bd_num = BD_NTRY_SIZE(FROM); \
04330 _size = NUM_BD_WDS * _bd_num; \
04331 Pragma("_CRI shortloop") \
04332 for (_idx = 0; _idx < _size; _idx++) { \
04333 *(_to_idx) = *(_from_idx); \
04334 _to_idx++; \
04335 _from_idx++; \
04336 } \
04337 }
04338
04339
04340 # define CREATE_ERR_ATTR(IDX, LINE, COL, CLASS) \
04341 { \
04342 int _al_idx; \
04343 int _err_idx; \
04344 NTR_ATTR_TBL(_err_idx); \
04345 AT_DCL_ERR(IDX) = TRUE; \
04346 COPY_COMMON_ATTR_INFO(IDX, _err_idx, CLASS); \
04347 AT_ATTR_LINK(_err_idx) = NULL_IDX; \
04348 AT_DEF_LINE(_err_idx) = LINE; \
04349 AT_DEF_COLUMN(_err_idx) = COL; \
04350 IDX = _err_idx; \
04351 NTR_ATTR_LIST_TBL(_al_idx); \
04352 AL_ATTR_IDX(_al_idx) = _err_idx; \
04353 AL_NEXT_IDX(_al_idx) = SCP_CIF_ERR_LIST(curr_scp_idx); \
04354 SCP_CIF_ERR_LIST(curr_scp_idx) = _al_idx; \
04355 }
04356
04357
04358
04359
04360
04361
04362 # ifdef _HOST64
04363 # define COPY_COMMON_ATTR_INFO(FROM, TO, CLASS) \
04364 {attr_tbl[(TO)].wd[0] = attr_tbl[(FROM)].wd[0]; \
04365 attr_tbl[(TO)].wd[1] = attr_tbl[(FROM)].wd[1]; \
04366 attr_tbl[(TO)].fldd.field32_5 = attr_tbl[(FROM)].fldd.field32_5; \
04367 attr_aux_tbl[(TO)].wd[0] = attr_aux_tbl[(FROM)].wd[0]; \
04368 AT_OBJ_CLASS(TO) = CLASS; \
04369 AT_CIF_SYMBOL_ID(TO) = 0; \
04370 AT_CIF_DONE(TO) = FALSE; \
04371 }
04372 # else
04373 # define COPY_COMMON_ATTR_INFO(FROM, TO, CLASS) \
04374 {attr_tbl[(TO)].wd[0] = attr_tbl[(FROM)].wd[0]; \
04375 attr_tbl[(TO)].wd[1] = attr_tbl[(FROM)].wd[1]; \
04376 attr_tbl[(TO)].wd[2] = attr_tbl[(FROM)].wd[2]; \
04377 attr_tbl[(TO)].wd[3] = attr_tbl[(FROM)].wd[3]; \
04378 attr_tbl[(TO)].wd[4] = attr_tbl[(FROM)].wd[4]; \
04379 attr_aux_tbl[(TO)].wd[0] = attr_aux_tbl[(FROM)].wd[0]; \
04380 attr_aux_tbl[(TO)].wd[1] = attr_aux_tbl[(FROM)].wd[1]; \
04381 AT_OBJ_CLASS(TO) = CLASS; \
04382 AT_CIF_SYMBOL_ID(TO) = 0; \
04383 AT_CIF_DONE(TO) = FALSE; \
04384 }
04385 # endif
04386
04387 # ifdef _HOST64
04388 # define COPY_VARIANT_ATTR_INFO(FROM, TO, CLASS) \
04389 {attr_tbl[(TO)].fldd.field32_6 = attr_tbl[(FROM)].fldd.field32_6; \
04390 attr_tbl[(TO)].wd[3] = attr_tbl[(FROM)].wd[3]; \
04391 attr_tbl[(TO)].wd[4] = attr_tbl[(FROM)].wd[4]; \
04392 attr_tbl[(TO)].wd[5] = attr_tbl[(FROM)].wd[5]; \
04393 attr_tbl[(TO)].wd[6] = attr_tbl[(FROM)].wd[6]; \
04394 attr_aux_tbl[(TO)].wd[1] = attr_aux_tbl[(FROM)].wd[1]; \
04395 attr_aux_tbl[(TO)].wd[2] = attr_aux_tbl[(FROM)].wd[2]; \
04396 AT_OBJ_CLASS(TO) = CLASS; \
04397 }
04398 # else
04399 # define COPY_VARIANT_ATTR_INFO(FROM, TO, CLASS) \
04400 {attr_tbl[(TO)].wd[5] = attr_tbl[(FROM)].wd[5]; \
04401 attr_tbl[(TO)].wd[6] = attr_tbl[(FROM)].wd[6]; \
04402 attr_tbl[(TO)].wd[7] = attr_tbl[(FROM)].wd[7]; \
04403 attr_tbl[(TO)].wd[8] = attr_tbl[(FROM)].wd[8]; \
04404 attr_tbl[(TO)].wd[9] = attr_tbl[(FROM)].wd[9]; \
04405 attr_tbl[(TO)].wd[10] = attr_tbl[(FROM)].wd[10]; \
04406 attr_tbl[(TO)].wd[11] = attr_tbl[(FROM)].wd[11]; \
04407 attr_tbl[(TO)].wd[12] = attr_tbl[(FROM)].wd[12]; \
04408 attr_tbl[(TO)].wd[13] = attr_tbl[(FROM)].wd[13]; \
04409 attr_aux_tbl[(TO)].wd[2] = attr_aux_tbl[(FROM)].wd[2]; \
04410 attr_aux_tbl[(TO)].wd[3] = attr_aux_tbl[(FROM)].wd[3]; \
04411 attr_aux_tbl[(TO)].wd[4] = attr_aux_tbl[(FROM)].wd[4]; \
04412 attr_aux_tbl[(TO)].wd[5] = attr_aux_tbl[(FROM)].wd[5]; \
04413 AT_OBJ_CLASS(TO) = CLASS; \
04414 }
04415 # endif
04416
04417
04418
04419
04420
04421
04422 # ifdef _HOST64
04423 # define CLEAR_VARIANT_ATTR_INFO(IDX, CLASS) \
04424 {attr_tbl[(IDX)].fldd.field32_6 = 0; \
04425 attr_tbl[(IDX)].wd[3] = 0; \
04426 attr_tbl[(IDX)].wd[4] = 0; \
04427 attr_tbl[(IDX)].wd[5] = 0; \
04428 attr_tbl[(IDX)].wd[6] = 0; \
04429 AT_OBJ_CLASS(IDX) = CLASS; \
04430 attr_aux_tbl[(IDX)].wd[1] = 0; \
04431 attr_aux_tbl[(IDX)].wd[2] = 0; \
04432 }
04433 # else
04434 # define CLEAR_VARIANT_ATTR_INFO(IDX, CLASS) \
04435 {attr_tbl[(IDX)].wd[5] = 0; \
04436 attr_tbl[(IDX)].wd[6] = 0; \
04437 attr_tbl[(IDX)].wd[7] = 0; \
04438 attr_tbl[(IDX)].wd[8] = 0; \
04439 attr_tbl[(IDX)].wd[9] = 0; \
04440 attr_tbl[(IDX)].wd[10] = 0; \
04441 attr_tbl[(IDX)].wd[11] = 0; \
04442 attr_tbl[(IDX)].wd[12] = 0; \
04443 attr_tbl[(IDX)].wd[13] = 0; \
04444 AT_OBJ_CLASS(IDX) = CLASS; \
04445 attr_aux_tbl[(IDX)].wd[2] = 0; \
04446 attr_aux_tbl[(IDX)].wd[3] = 0; \
04447 attr_aux_tbl[(IDX)].wd[4] = 0; \
04448 attr_aux_tbl[(IDX)].wd[5] = 0; \
04449 }
04450 # endif
04451
04452
04453
04454
04455
04456
04457
04458
04459
04460
04461
04462 # define CREATE_FUNC_RSLT(AT_IDX, RSLT_IDX) \
04463 NTR_ATTR_TBL(RSLT_IDX); \
04464 COPY_COMMON_ATTR_INFO(AT_IDX, RSLT_IDX, Data_Obj); \
04465 ATD_CLASS(RSLT_IDX) = Function_Result; \
04466 ATD_FUNC_IDX(RSLT_IDX) = AT_IDX; \
04467 ATP_RSLT_IDX(AT_IDX) = RSLT_IDX;
04468
04469
04470 # define FREE_IR_LIST_NODE(IDX) \
04471 IL_NEXT_LIST_IDX(IDX) = IL_NEXT_LIST_IDX(NULL_IDX); \
04472 IL_NEXT_LIST_IDX(NULL_IDX) = IDX;
04473
04474
04475 # define FREE_IR_NODE(IDX) \
04476 IR_NEXT_IDX(IDX) = IR_NEXT_IDX(NULL_IDX); \
04477 IR_NEXT_IDX(NULL_IDX) = IDX;
04478
04479
04480 # define FREE_SH_NODE(IDX) \
04481 SH_NEXT_IDX(IDX) = SH_NEXT_IDX(NULL_IDX); \
04482 SH_NEXT_IDX(NULL_IDX) = IDX;
04483
04484 # define FREE_GL_IR_LIST_NODE(IDX) \
04485 GL_IL_NEXT_LIST_IDX(IDX) = GL_IL_NEXT_LIST_IDX(NULL_IDX); \
04486 GL_IL_NEXT_LIST_IDX(NULL_IDX) = IDX;
04487
04488
04489 # define FREE_GL_IR_NODE(IDX) \
04490 GL_IR_NEXT_IDX(IDX) = GL_IR_NEXT_IDX(NULL_IDX); \
04491 GL_IR_NEXT_IDX(NULL_IDX) = IDX;
04492
04493
04494 # define FREE_GL_SH_NODE(IDX) \
04495 GL_SH_NEXT_IDX(IDX) = GL_SH_NEXT_IDX(NULL_IDX); \
04496 GL_SH_NEXT_IDX(NULL_IDX) = IDX;
04497
04498
04499
04500 # define GEN_COMPILER_TMP_ASG(IR_IDX, ATTR_IDX, SEM_DONE, LINE, COL, TYPE_IDX, \
04501 SCOPE) \
04502 {NTR_IR_TBL(IR_IDX); \
04503 ATTR_IDX = gen_compiler_tmp(LINE,COL,SCOPE,TRUE); \
04504 AT_SEMANTICS_DONE(ATTR_IDX) = SEM_DONE; \
04505 ATD_TYPE_IDX(ATTR_IDX) = TYPE_IDX; \
04506 ATD_TMP_IDX(ATTR_IDX) = IR_IDX; \
04507 ATD_FLD(ATTR_IDX) = IR_Tbl_Idx; \
04508 ATD_STOR_BLK_IDX(ATTR_IDX) = SCP_SB_STACK_IDX(curr_scp_idx); \
04509 AT_DEFINED(ATTR_IDX) = TRUE; \
04510 IR_OPR(IR_IDX) = Asg_Opr; \
04511 IR_TYPE_IDX(IR_IDX) = ATD_TYPE_IDX(ATTR_IDX); \
04512 IR_FLD_L(IR_IDX) = AT_Tbl_Idx; \
04513 IR_IDX_L(IR_IDX) = ATTR_IDX; \
04514 IR_LINE_NUM_L(IR_IDX) = LINE; \
04515 IR_LINE_NUM(IR_IDX) = LINE; \
04516 IR_COL_NUM_L(IR_IDX) = COL; \
04517 IR_COL_NUM(IR_IDX) = COL; \
04518 }
04519
04520 # define IS_STMT_ENTITY(ATTR_IDX) \
04521 (AT_OBJ_CLASS(ATTR_IDX) == Data_Obj && \
04522 ATD_SEEN_AS_LCV(ATTR_IDX) && \
04523 ! ATD_SEEN_IN_IMP_DO(ATTR_IDX) && \
04524 ! ATD_SEEN_OUTSIDE_IMP_DO(ATTR_IDX))
04525
04526 # define NTR_ATTR_TBL(ATTR_IDX) \
04527 TBL_REALLOC_CK(attr_tbl, 1); \
04528 CLEAR_TBL_NTRY(attr_tbl, attr_tbl_idx); \
04529 TBL_REALLOC_CK(attr_aux_tbl, 1); \
04530 CLEAR_TBL_NTRY(attr_aux_tbl, attr_aux_tbl_idx); \
04531 ATTR_IDX = attr_tbl_idx;
04532
04533 # define NTR_ATTR_LIST_TBL(ATTR_LIST_IDX) \
04534 {int _idx; \
04535 _idx = ntr_attr_list_tbl(); \
04536 ATTR_LIST_IDX = _idx;}
04537
04538 # define ADD_ATTR_TO_LOCAL_LIST(AT_IDX) add_attr_to_local_list(AT_IDX);
04539
04540
04541 # define NTR_EQ_TBL(EQ_IDX) \
04542 TBL_REALLOC_CK(equiv_tbl, 1); \
04543 CLEAR_TBL_NTRY(equiv_tbl, equiv_tbl_idx); \
04544 EQ_OFFSET_FLD(equiv_tbl_idx) = CN_Tbl_Idx; \
04545 EQ_OFFSET_IDX(equiv_tbl_idx) = CN_INTEGER_ZERO_IDX; \
04546 EQ_IDX = equiv_tbl_idx;
04547
04548
04549
04550
04551
04552
04553
04554 # if defined(_TARGET64) && defined(_HOST32)
04555 # define EXTRA_WORD 1
04556 # else
04557 # define EXTRA_WORD 0
04558 # endif
04559
04560 # define NTR_NAME_POOL(NAME, LEN, NP_IDX) \
04561 {register long *_name_id; \
04562 register int _np_idx; \
04563 register int _start_idx; \
04564 register int _wd_len; \
04565 _name_id = NAME; \
04566 _wd_len = WORD_LEN(LEN) + EXTRA_WORD; \
04567 _start_idx = name_pool_idx + 1; \
04568 NP_IDX = _start_idx; \
04569 TBL_REALLOC_CK(name_pool,_wd_len); \
04570 for (_np_idx = 0; _np_idx < _wd_len; _np_idx++) { \
04571 name_pool[_start_idx+_np_idx].name_long = _name_id[_np_idx]; \
04572 } \
04573 }
04574
04575
04576 # define NTR_IR_LIST_TBL(IR_LIST_IDX) \
04577 {int _idx; \
04578 _idx = ntr_ir_list_tbl(); \
04579 IR_LIST_IDX = _idx;}
04580
04581
04582
04583 # define NTR_IR_TBL(IR_IDX) \
04584 {int _idx; \
04585 _idx = ntr_ir_tbl(); \
04586 IR_IDX = _idx;}
04587
04588 # define NTR_GL_IR_LIST_TBL(IR_LIST_IDX) \
04589 {int _idx; \
04590 _idx = ntr_gl_ir_list_tbl(); \
04591 IR_LIST_IDX = _idx;}
04592
04593
04594
04595 # define NTR_GL_IR_TBL(IR_IDX) \
04596 {int _idx; \
04597 _idx = ntr_gl_ir_tbl(); \
04598 IR_IDX = _idx;}
04599
04600
04601
04602 # define NTR_SCP_TBL(SCP_IDX) \
04603 TBL_REALLOC_CK(scp_tbl,1); \
04604 CLEAR_TBL_NTRY(scp_tbl, scp_tbl_idx); \
04605 SCP_IDX = scp_tbl_idx;
04606
04607
04608 # define NTR_SN_TBL(SN_IDX) \
04609 TBL_REALLOC_CK(sec_name_tbl,1); \
04610 CLEAR_TBL_NTRY(sec_name_tbl, sec_name_tbl_idx); \
04611 SN_IDX = sec_name_tbl_idx;
04612
04613
04614 # define NTR_INTERFACE_IN_SN_TBL(SN_IDX, AT_IDX, PARENT_IDX, LINE, COLUMN) \
04615 NTR_SN_TBL(SN_IDX); \
04616 SN_ATTR_IDX(SN_IDX) = AT_IDX; \
04617 SN_NAME_LEN(SN_IDX) = AT_NAME_LEN(AT_IDX); \
04618 SN_NAME_IDX(SN_IDX) = AT_NAME_IDX(AT_IDX); \
04619 SN_LINE_NUM(SN_IDX) = LINE; \
04620 SN_COLUMN_NUM(SN_IDX) = COLUMN; \
04621 SN_SIBLING_LINK(SN_IDX) = ATI_FIRST_SPECIFIC_IDX(PARENT_IDX);\
04622 ATI_FIRST_SPECIFIC_IDX(PARENT_IDX)= SN_IDX; \
04623 ATI_NUM_SPECIFICS(PARENT_IDX) += 1;
04624
04625
04626 #if defined(_HOST64) && !defined(_WHIRL_HOST64_TARGET64)
04627 # define NTR_NAME_IN_LN_TBL(ENTER_NAME_IDX, NEW_NAME_IDX) \
04628 {long *_name_tbl_base; \
04629 int _idx; \
04630 _name_tbl_base = (long *) loc_name_tbl; \
04631 Pragma("_CRI ivdep") \
04632 for (_idx = SCP_LN_LW_IDX(curr_scp_idx); \
04633 _idx>= ENTER_NAME_IDX; _idx--) { \
04634 _name_tbl_base[_idx] = _name_tbl_base[_idx-1]; \
04635 } \
04636 loc_name_tbl[ENTER_NAME_IDX] = loc_name_tbl[NEW_NAME_IDX]; \
04637 }
04638 #else
04639 # define NTR_NAME_IN_LN_TBL(ENTER_NAME_IDX, NEW_NAME_IDX) \
04640 {int _idx; \
04641 Pragma("_CRI ivdep") \
04642 for (_idx = SCP_LN_LW_IDX(curr_scp_idx); \
04643 _idx>= ENTER_NAME_IDX; _idx--) { \
04644 loc_name_tbl[_idx] = loc_name_tbl[_idx-1]; \
04645 } \
04646 loc_name_tbl[ENTER_NAME_IDX] = loc_name_tbl[NEW_NAME_IDX]; \
04647 }
04648 # endif
04649
04650
04651 # define SET_IMPL_TYPE(AT_IDX) \
04652 {int _i_idx; \
04653 _i_idx = IMPL_IDX(AT_OBJ_NAME(AT_IDX)); \
04654 ATD_TYPE_IDX(AT_IDX) = IM_TYPE_IDX(curr_scp_idx, _i_idx); \
04655 }
04656
04657
04658 # define SET_IMPL_TYPE_IN_SCP(AT_IDX, SCP_IDX) \
04659 {int _i_idx; \
04660 _i_idx = IMPL_IDX(AT_OBJ_NAME(AT_IDX)); \
04661 ATD_TYPE_IDX(AT_IDX) = IM_TYPE_IDX(SCP_IDX, _i_idx); \
04662 }
04663
04664 # define BITS_TO_WORDS(BIT_SIZE, ALIGN_TO) \
04665 bits_and_bytes_to_words(&(BIT_SIZE), (ALIGN_TO == 64) ? 63:31, \
04666 (ALIGN_TO == 64) ? 6 : 5);
04667
04668 # define BYTES_TO_WORDS(BIT_SIZE, ALIGN_TO) \
04669 bits_and_bytes_to_words(&(BIT_SIZE), (ALIGN_TO == 64) ? 7:3, \
04670 (ALIGN_TO == 64) ? 3 : 2);
04671
04672
04673 # define BITS_TO_INTEGER_DEFAULT_WORDS(BIT_SIZE, INT_SIZE) \
04674 ((INT_SIZE) == 64) ? (((BIT_SIZE)+63) >> 6) : (((BIT_SIZE)+31) >> 5)
04675
04676
04677
04678
04679
04680 # if defined(_TARGET32) && !defined(_TARGET_LITTLE_ENDIAN)
04681 # define THIS_IS_TRUE(THE_CONSTANT, TYPE_IDX) \
04682 ((THE_CONSTANT)[(TYP_LINEAR(TYPE_IDX) == Logical_8) ? 1:0] == TRUE_VALUE)
04683 # else
04684 # define THIS_IS_TRUE(THE_CONSTANT, TYPE_IDX) \
04685 ((THE_CONSTANT)[0] == TRUE_VALUE)
04686 # endif
04687
04688
04689 # if defined(_HOST64) && defined(_TARGET64)
04690 # define CONVERT_CVAL_TO_STR(CONSTANT, TYPE_IDX, RESULT) \
04691 convert_to_string(CONSTANT, TYPE_IDX, RESULT)
04692 # else
04693 # define CONVERT_CVAL_TO_STR(CONSTANT, TYPE_IDX, RESULT) \
04694 convert_cval_to_string(CONSTANT, TYPE_IDX, RESULT)
04695 # endif
04696
04697
04698
04699
04700
04701
04702
04703
04704
04705
04706
04707
04708
04709
04710
04711
04712
04713
04714
04715
04716
04717
04718
04719 # if defined(_TARGET64) && defined(_HOST64)
04720 # define F_INT_TO_C(ARRAY,LIN_TYPE) *(ARRAY)
04721 # elif (defined(_TARGET_OS_IRIX) || defined(_TARGET_OS_LINUX) || defined(_TARGET_OS_DARWIN))
04722 # define F_INT_TO_C(ARRAY,LIN_TYPE) \
04723 ((LIN_TYPE == Integer_8 || LIN_TYPE == Typeless_8) \
04724 ? *((long64 *) (ARRAY)):(long64) *(ARRAY))
04725 # else
04726 # define F_INT_TO_C(ARRAY,LIN_TYPE) f_int_to_cval(ARRAY, LIN_TYPE)
04727 # endif
04728
04729 # if defined(_TARGET_OS_MAX)
04730 # define CN_INT_TO_C(IDX) mpp_cn_int_to_c(IDX)
04731 # else
04732 # define CN_INT_TO_C(IDX) \
04733 F_INT_TO_C(&CN_CONST(IDX), TYP_LINEAR(CN_TYPE_IDX(IDX)))
04734 # endif
04735
04736 # define C_INT_TO_CN(TYPE_IDX, CONST) \
04737 ntr_int_const_tbl(TYPE_IDX, (long64) (CONST))
04738
04739
04740
04741
04742
04743 # if defined(_TARGET64)
04744 # define C_TO_F_INT(ARRAY, CONST, LIN_TYPE) ARRAY[0] = CONST
04745 # elif (defined(_TARGET_OS_IRIX) || defined(_TARGET_OS_LINUX) || defined(_TARGET_OS_DARWIN))
04746 # define C_TO_F_INT(ARRAY, CONST, LIN_TYPE) \
04747 { \
04748 long *_cn_ptr; \
04749 long64 _big_cn; \
04750 if (LIN_TYPE == Integer_8 || LIN_TYPE == Typeless_8) { \
04751 _big_cn = (long64) CONST; \
04752 _cn_ptr = (long *) &_big_cn; \
04753 ARRAY[0] = *_cn_ptr; \
04754 ARRAY[1] = *(++_cn_ptr); \
04755 } else { \
04756 ARRAY[0] = (long) CONST; \
04757 ARRAY[1] = 0; \
04758 } }
04759 # else
04760 # define C_TO_F_INT(ARRAY, CONST, LIN_TYPE) \
04761 { \
04762 long64 _con; \
04763 _con = (long64) CONST; \
04764 cval_to_f_int(ARRAY, &_con, LIN_TYPE); \
04765 }
04766 # endif
04767