00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054 enum access_values {Public, Private };
00055
00056 enum align_values {No_Align,
00057 Align_Bit,
00058 Align_8,
00059 Align_16,
00060 Align_32,
00061 Align_64,
00062 Align_Double,
00063 Align_128 };
00064
00065 enum atd_class_values {Atd_Unknown, Variable,
00066 Dummy_Argument, Function_Result,
00067 Compiler_Tmp, CRI__Pointee,
00068 Struct_Component, Constant };
00069
00070 enum atl_class_values {Lbl_Unknown, Lbl_User,
00071 Lbl_Format, Lbl_Internal,
00072 Lbl_Debug, Lbl_Construct };
00073
00074
00075
00076 enum atl_debug_class_values {Ldbg_None, Ldbg_Stmt_Lbl,
00077 Ldbg_Exit_Point, Ldbg_End_Prologue,
00078 Ldbg_Start_Epilogue, Ldbg_Construct_Name,
00079 Ldbg_Loop_Lbl, Ldbg_User_Lbl };
00080
00081
00082
00083 enum atp_proc_values {Unknown_Proc, Extern_Proc,
00084 Intrin_Proc, Dummy_Proc,
00085 Intern_Proc, Imported_Proc,
00086 Module_Proc, Intern_Proc_Refd=2};
00087
00088 enum bd_array_size_values {Unknown_Size, Constant_Size,
00089 Var_Len_Array, Symbolic_Constant_Size};
00090
00091 enum bd_array_values {Unknown_Array, Explicit_Shape,
00092 Assumed_Size, Deferred_Shape,
00093 Assumed_Shape };
00094
00095 enum directive_label_values {Safevl_Dir_Idx,
00096 Unroll_Dir_Idx,
00097 Maxcpus_Dir_Idx,
00098 Mark_Dir_Idx,
00099 Cache_Bypass_Dir_Idx,
00100 Concurrent_Dir_Idx,
00101 Blockable_Dir_Idx,
00102 Interchange_Dir_Idx,
00103 Interchange_Level_Dir_Idx,
00104 Num_Dir_On_List };
00105
00106 enum distribution_values {No_Distribution,
00107 Block_Distribution,
00108 Cyclic_Distribution,
00109 Star_Distribution };
00110
00111 enum file_path_values {Unknown_Fp,
00112 Directory_Fp,
00113 File_Fp,
00114 Mod_File_Fp,
00115 Archive_File_Fp,
00116 Elf_File_Fp,
00117 Module_Fp,
00118 Current_Compile_Fp,
00119 Include_Fp,
00120 Inline_Fp,
00121 Reshape_Array_Fp,
00122 Xcoff_File_Fp };
00123
00124 enum implicit_storage_values {Impl_Default_Storage,
00125 Impl_Automatic_Storage,
00126 Impl_Static_Storage };
00127
00128 enum intent_values {Intent_Unseen, Intent_In,
00129 Intent_Out, Intent_Inout };
00130
00131 enum interface_values {Generic_Unknown_Interface,
00132 Generic_Function_Interface,
00133 Generic_Subroutine_Interface,
00134 Defined_Interface,
00135 Defined_Assign_Interface,
00136 Defined_Unary_Interface,
00137 Defined_Binary_Interface,
00138 Defined_Unary_Or_Binary_Interface };
00139
00140
00141 enum obj_class_values {Data_Obj, Pgm_Unit,
00142 Label, Derived_Type,
00143 Interface, Namelist_Grp,
00144 Stmt_Func, Common_Block=Stmt_Func};
00145
00146
00147
00148
00149 enum pgm_unit_values {Pgm_Unknown=0, Function=3,
00150 Subroutine=4, Program=5,
00151 Blockdata=6, Module=7 };
00152
00153 enum reference_values {Not_Referenced, Char_Rslt_Bound_Ref,
00154 Dcl_Bound_Ref, Referenced };
00155
00156 enum sb_name_values {What_Blk,
00157 Based_Blk,
00158 Data_Init_Blk,
00159 Pointee_Blk,
00160 Stack_Host_Blk,
00161 Data_Blk,
00162 Sym_Blk,
00163 Data_Uninit_Blk,
00164 Stack_Blk,
00165 Dargs_Blk,
00166 End_Name_Blk};
00167
00168
00169 enum sb_type_values {Unknown_Seg, Static,
00170 Stack, Formal,
00171 Common, Extern,
00172 Exported, Task_Common,
00173 Soft_External, Global_Breg,
00174 Global_Treg, Static_Named,
00175 Based, Equivalenced,
00176 Restricted, Distributed,
00177 LM_Static, LM_Common,
00178 LM_Extern, Auxiliary,
00179 Static_Local, Non_Local_Stack,
00180 Non_Local_Formal, Hosted_Stack,
00181 Threadprivate, Coment };
00182
00183 enum type_char_values {Unknown_Char, Const_Len_Char,
00184 Var_Len_Char, Assumed_Size_Char };
00185
00186 enum type_desc_values {Default_Typed, Star_Typed,
00187 Kind_Typed };
00188
00189 enum use_type_values {Use_Not, Use_All,
00190 Use_Renamed, Use_Only };
00191
00192 enum holler_type_values {Not_Hollerith, H_Hollerith,
00193 L_Hollerith, R_Hollerith };
00194
00195
00196 typedef enum access_values access_type;
00197 typedef enum align_values align_type;
00198 typedef enum atd_class_values atd_class_type;
00199 typedef enum atl_class_values atl_class_type;
00200 typedef enum atl_debug_class_values atl_debug_class_type;
00201 typedef enum atp_proc_values atp_proc_type;
00202 typedef enum bd_array_values bd_array_type;
00203 typedef enum bd_array_size_values bd_array_size_type;
00204 typedef enum directive_label_values directive_label_type;
00205 typedef enum distribution_values distribution_type;
00206 typedef enum implicit_storage_values implicit_storage_type;
00207 typedef enum intent_values intent_type;
00208 typedef enum interface_values interface_type;
00209 typedef enum obj_class_values obj_class_type;
00210 typedef enum pgm_unit_values pgm_unit_type;
00211 typedef enum reference_values reference_type;
00212 typedef enum sb_type_values sb_type_type;
00213 typedef enum type_char_values type_char_type;
00214 typedef enum type_desc_values type_desc_type;
00215 typedef enum use_type_values use_type_type;
00216 typedef enum holler_type_values holler_type;
00217
00218 typedef long_type const_pool_type;
00219
00220 typedef union attr_tbl_entry attr_tbl_type;
00221 typedef union attr_aux_tbl_entry attr_aux_tbl_type;
00222 typedef union bounds_tbl_entry bounds_tbl_type;
00223 typedef union global_attr_tbl_entry global_attr_tbl_type;
00224 typedef union global_bounds_tbl_entry global_bounds_tbl_type;
00225 typedef union ir_list_tbl_entry ir_list_tbl_type;
00226 typedef union ir_list_tbl_entry global_ir_list_tbl_type;
00227 typedef union name_pool_entry name_pool_type;
00228 typedef union scp_wd_entry scp_wd_type;
00229 typedef union global_type_tbl_entry global_type_tbl_type;
00230 typedef union type_tbl_entry type_tbl_type;
00231
00232 typedef struct attr_list_tbl_entry attr_list_tbl_type;
00233
00234 typedef struct const_search_tbl_entry const_search_tbl_type;
00235 typedef struct cs_idx_tbl_entry cs_idx_tbl_type;
00236
00237 typedef struct const_tbl_entry const_tbl_type;
00238 typedef struct new_const_tbl_entry new_const_tbl_type;
00239 typedef struct old_const_tbl_entry old_const_tbl_type;
00240 typedef struct equiv_tbl_entry equiv_tbl_type;
00241 typedef struct file_path_tbl_entry file_path_tbl_type;
00242 typedef struct global_line_tbl_entry global_line_tbl_type;
00243 typedef struct intrin_tbl_entry intrin_tbl_type;
00244 typedef struct intrin_map_entry intrin_map_type;
00245 typedef struct ir_list_link_entry ir_list_link_type;
00246 typedef struct ir_opr_entry ir_opr_type;
00247 typedef struct ir_tbl_entry ir_tbl_type;
00248 typedef struct old_ir_tbl_entry old_ir_tbl_type;
00249 typedef struct old_ir_opr_entry old_ir_opr_type;
00250 typedef struct ir_tbl_entry global_ir_tbl_type;
00251 typedef struct name_tbl_entry name_tbl_type;
00252 typedef struct mod_link_tbl_entry mod_link_tbl_type;
00253 typedef struct pdg_link_tbl_entry pdg_link_tbl_type;
00254 typedef struct pdt_tbl_hdr_entry pdt_tbl_hdr_type;
00255 typedef struct rename_only_entry rename_only_tbl_type;
00256 typedef struct scp_tbl_entry scp_tbl_type;
00257 typedef struct sec_name_tbl_entry sec_name_tbl_type;
00258 typedef struct sh_tbl_entry sh_tbl_type;
00259 typedef struct size_offset_entry size_offset_type;
00260 typedef struct sh_tbl_entry global_sh_tbl_type;
00261 typedef union stor_blk_tbl_entry stor_blk_tbl_type;
00262
00263
00264
00265 typedef struct name_tbl_entry loc_name_tbl_type;
00266 typedef struct name_tbl_entry global_name_tbl_type;
00267 typedef struct name_tbl_entry hidden_name_tbl_type;
00268 typedef union name_pool_entry str_pool_type;
00269
00270
00271
00272
00273
00274 struct size_offset_entry {Uint type_idx : 16;
00275 Uint unused : 12;
00276 fld_type fld : 4;
00277 Uint idx : 32;
00278 long_type constant[MAX_WORDS_FOR_INTEGER];
00279 };
00280
00281
00282
00283
00284
00285 struct pdt_tbl_hdr_entry {Uint hdr_type : 7;
00286 Uint UNUSED : 9;
00287 Uint hdr_bi : 16;
00288 Uint hdr_len : 32;
00289 };
00290
00291
00292
00293
00294
00295
00296 union attr_aux_tbl_entry {
00297 struct {
00298 Uint def_line : 24;
00299 Uint def_column : 8;
00300 boolean cif_use_in_bnd : 1;
00301 boolean cif_done : 1;
00302 boolean semantics_done : 1;
00303 boolean arg_to_kind : 1;
00304 boolean access_set : 1;
00305 boolean locked_in : 1;
00306 boolean cif_usage_rec : 1;
00307 boolean unused : 1;
00308 Uint cif_sym_id : 24;
00309
00310 Uint field1 : 16;
00311 Uint field2 : 16;
00312 boolean flag1 : 1;
00313 boolean flag2 : 1;
00314 boolean flag3 : 1;
00315 boolean flag4 : 1;
00316 boolean flag5 : 1;
00317 boolean flag6 : 1;
00318 boolean flag7 : 1;
00319 boolean flag8 : 1;
00320 Uint field3 : 24;
00321
00322 Uint field4 : 24;
00323 boolean flag9 : 1;
00324 boolean flag10 : 1;
00325 boolean flag11 : 1;
00326 boolean flag12 : 1;
00327 boolean flag13 : 1;
00328 boolean flag14 : 1;
00329 boolean flag15 : 1;
00330 boolean flag16 : 1;
00331 boolean flag17 : 1;
00332 boolean flag18 : 1;
00333 boolean flag19 : 1;
00334 boolean flag20 : 1;
00335 boolean flag21 : 1;
00336 boolean flag22 : 1;
00337 boolean flag23 : 1;
00338 boolean flag24 : 1;
00339 Uint field5 : 24;
00340
00341 } fld;
00342 long wd[NUM_AA_WDS];
00343 };
00344
00345
00346
00347
00348
00349
00350 struct attr_list_tbl_entry {Uint next_idx : 16;
00351 Uint prev_idx : 16;
00352 boolean flag1 : 1;
00353 boolean flag2 : 1;
00354 Uint unused : 6;
00355 Uint attr_idx : 24;
00356 };
00357
00358
00359
00360
00361
00362
00363 union attr_tbl_entry {
00364 struct {
00365 Uint object_class : 4;
00366 Uint module_idx : 20;
00367 Uint referenced : 2;
00368 boolean defined : 1;
00369 boolean passed_as_arg : 1;
00370 boolean optional : 1;
00371 boolean private_access : 1;
00372 boolean use_associated : 1;
00373 boolean host_associated : 1;
00374
00375 boolean namelist_obj : 1;
00376 boolean dcl_err : 1;
00377 boolean is_darg : 1;
00378 boolean alt_darg : 1;
00379 boolean elemental_intrin: 1;
00380 boolean is_intrin : 1;
00381 boolean typed : 1;
00382 boolean def_in_child : 1;
00383 boolean ref_in_child : 1;
00384 boolean compiler_gend : 1;
00385 boolean not_visible : 1;
00386 boolean ignore_attr_link: 1;
00387 Uint attr_link : 20;
00388
00389 Uint orig_name_idx : 24;
00390 Uint orig_name_len : 8;
00391 Uint length : 8;
00392 Uint name_idx : 24;
00393
00394 Uint orig_module_idx : 20;
00395 boolean module_object : 1;
00396 #ifdef KEY
00397 boolean flag57 : 1;
00398 Uint unused : 10;
00399 #else
00400 Uint unused : 11;
00401 #endif
00402 Uint unused1 : 8;
00403 Uint field7 : 24;
00404
00405 Uint secondary_info : 3;
00406 Uint field2 : 3;
00407 Uint field3 : 2;
00408 Uint field4 : 24;
00409
00410 boolean flag1 : 1;
00411 boolean flag2 : 1;
00412 boolean flag3 : 1;
00413 boolean flag4 : 1;
00414 boolean flag5 : 1;
00415 boolean flag6 : 1;
00416 boolean flag7 : 1;
00417 boolean flag8 : 1;
00418 boolean flag9 : 1;
00419 boolean flag10 : 1;
00420 boolean flag11 : 1;
00421 boolean flag12 : 1;
00422 Uint field1 : 20;
00423
00424 Uint field5 : 16;
00425 Uint field6 : 16;
00426
00427 boolean flag17 : 1;
00428 boolean flag18 : 1;
00429 boolean flag19 : 1;
00430 boolean flag20 : 1;
00431 boolean flag21 : 1;
00432 boolean flag22 : 1;
00433 boolean flag23 : 1;
00434 boolean flag24 : 1;
00435 boolean flag25 : 1;
00436 boolean flag26 : 1;
00437 boolean flag27 : 1;
00438 boolean flag28 : 1;
00439 Uint field8 : 20;
00440
00441 boolean flag29 : 1;
00442 boolean flag30 : 1;
00443 boolean flag31 : 1;
00444 boolean flag32 : 1;
00445 boolean flag33 : 1;
00446 boolean flag34 : 1;
00447 boolean flag35 : 1;
00448 boolean flag36 : 1;
00449 Uint field10 : 24;
00450 Uint field12 : 8;
00451 Uint field13 : 24;
00452
00453 Uint field14 : 24;
00454 boolean flag49 : 1;
00455 boolean flag50 : 1;
00456 boolean flag51 : 1;
00457 boolean flag52 : 1;
00458 boolean flag53 : 1;
00459 boolean flag54 : 1;
00460 boolean flag55 : 1;
00461 boolean flag56 : 1;
00462
00463 boolean flag37 : 1;
00464 boolean flag38 : 1;
00465 boolean flag39 : 1;
00466 boolean flag40 : 1;
00467 boolean flag41 : 1;
00468 boolean flag42 : 1;
00469 boolean flag43 : 1;
00470 boolean flag44 : 1;
00471 boolean flag45 : 1;
00472 boolean flag46 : 1;
00473 boolean flag47 : 1;
00474 boolean flag48 : 1;
00475 Uint field16 : 20;
00476
00477 } fld;
00478
00479
00480
00481
00482 struct {Uint field32_1 : 32;
00483 Uint field32_2 : 32;
00484 Uint field32_3 : 32;
00485 Uint field32_4 : 32;
00486 Uint field32_5 : 32;
00487 Uint field32_6 : 32;
00488 Uint field32_7 : 32;
00489 Uint field32_8 : 32;
00490 Uint field32_9 : 32;
00491 Uint field32_10 : 32;
00492 Uint field32_11 : 32;
00493 Uint field32_12 : 32;
00494 Uint field32_13 : 32;
00495 Uint field32_14 : 32;
00496 } fldd;
00497
00498
00499
00500
00501
00502 struct {Uint field32_1 : 32;
00503 Uint field32_2 : 32;
00504 Uint field32_3 : 32;
00505 Uint field32_4 : 32;
00506 Uint field32_5 : 32;
00507 Uint field32_6 : 32;
00508 Uint field32_7 : 32;
00509 Uint field32_8 : 32;
00510 Uint field23 : 24;
00511 Uint UNUSED : 8;
00512 Uint field32_10 : 32;
00513 Uint field32_11 : 32;
00514 fld_type field22 : 8;
00515 Uint field32_12 : 24;
00516 Uint distribution_idx: 20;
00517 Uint alignment : 4;
00518 Uint field32_13_2 : 8;
00519 Uint field32_14 : 32;
00520 } fld2;
00521
00522
00523
00524
00525
00526 struct {
00527 Uint : 32;
00528 boolean not_visible : 1;
00529 boolean use_associated : 1;
00530 boolean host_associated : 1;
00531 boolean cif_use_in_bnd : 1;
00532 boolean cif_done : 1;
00533 boolean module_object : 1;
00534 boolean arg_to_kind : 1;
00535 Uint unused : 2;
00536 Uint module_idx : 20;
00537 Uint object_class : 3;
00538
00539 Uint unused1 : 32;
00540 Uint unused2 : 32;
00541
00542 Uint orig_name_idx : 24;
00543 Uint orig_name_len : 8;
00544 Uint length : 8;
00545 Uint name_idx : 24;
00546
00547 Uint secondary_info : 3;
00548 Uint field2 : 3;
00549 Uint field3 : 2;
00550 Uint field4 : 24;
00551
00552 boolean flag1 : 1;
00553 boolean flag2 : 1;
00554 boolean flag3 : 1;
00555 boolean flag4 : 1;
00556 boolean flag5 : 1;
00557 boolean flag6 : 1;
00558 boolean flag7 : 1;
00559 boolean flag8 : 1;
00560 boolean flag9 : 1;
00561 boolean flag10 : 1;
00562 boolean flag11 : 1;
00563 boolean flag12 : 1;
00564 boolean flag13 : 1;
00565 boolean flag14 : 1;
00566 boolean flag15 : 1;
00567 boolean flag16 : 1;
00568 Uint field1 : 16;
00569
00570 Uint field5 : 16;
00571 Uint field6 : 16;
00572
00573 boolean flag17 : 1;
00574 boolean flag18 : 1;
00575 boolean flag19 : 1;
00576 boolean flag20 : 1;
00577 boolean flag21 : 1;
00578 boolean flag22 : 1;
00579 boolean flag23 : 1;
00580 boolean flag24 : 1;
00581 boolean flag25 : 1;
00582 boolean flag26 : 1;
00583 boolean flag27 : 1;
00584 boolean flag28 : 1;
00585 Uint field8 : 20;
00586
00587 boolean flag29 : 1;
00588 boolean flag30 : 1;
00589 boolean flag31 : 1;
00590 boolean flag32 : 1;
00591 boolean flag33 : 1;
00592 boolean flag34 : 1;
00593 boolean flag35 : 1;
00594 boolean flag36 : 1;
00595 Uint field10 : 24;
00596 Uint field12 : 8;
00597 Uint field13 : 24;
00598
00599 Uint field14 : 16;
00600 Uint field15 : 16;
00601 boolean flag37 : 1;
00602 boolean flag38 : 1;
00603 boolean flag39 : 1;
00604 boolean flag40 : 1;
00605 boolean flag41 : 1;
00606 boolean flag42 : 1;
00607 boolean flag43 : 1;
00608 boolean flag44 : 1;
00609 boolean flag45 : 1;
00610 boolean flag46 : 1;
00611 boolean flag47 : 1;
00612 boolean flag48 : 1;
00613 Uint field16 : 20;
00614 } old;
00615
00616 long wd[NUM_AT_WDS];
00617 };
00618
00619
00620
00621
00622
00623
00624
00625 union bounds_tbl_entry {
00626
00627 struct {Uint rank : 8;
00628 Uint array_class : 3;
00629 boolean error : 1;
00630 Uint global_idx : 20;
00631
00632 Uint len_idx : 24;
00633 fld_type len_fld : 4;
00634 boolean resolved : 1;
00635 Uint array_size : 3;
00636
00637 Uint line_num : 24;
00638 Uint column_num : 8;
00639
00640 Uint next_free_ntry : 20;
00641 Uint UNUSED2 : 2;
00642 Uint flow_dep : 1;
00643 Uint used_ntry : 1;
00644 Uint ntry_size : 6;
00645 boolean dist_reshape : 1;
00646 boolean dist_ntry : 1;
00647 } hdr;
00648
00649 struct {Uint rank : 4;
00650 fld_type len_fld : 4;
00651 Uint len_idx : 24;
00652
00653 Uint next_free_ntry : 16;
00654 Uint ntry_size : 4;
00655 Uint used_ntry : 1;
00656 boolean error : 1;
00657 boolean resolved : 1;
00658 Uint array_size : 3;
00659 Uint array_class : 3;
00660 Uint UNUSED2 : 3;
00661
00662 Uint line_num : 24;
00663 Uint column_num : 8;
00664 Uint UNUSED3 : 30;
00665 boolean dist_reshape : 1;
00666 boolean dist_ntry : 1;
00667 } old_hdr;
00668
00669 struct {fld_type lb_fld : 4;
00670 Uint UNUSED1 : 4;
00671 Uint lb_idx : 24;
00672 Uint ub_idx : 24;
00673 Uint UNUSED2 : 4;
00674 fld_type ub_fld : 4;
00675
00676 fld_type sm_fld : 4;
00677 Uint UNUSED3 : 4;
00678 Uint sm_idx : 24;
00679 Uint xt_idx : 24;
00680 Uint UNUSED4 : 4;
00681 fld_type xt_fld : 4;
00682
00683 } dim;
00684
00685 struct {fld_type cyclic_fld : 4;
00686 distribution_type distribution : 4;
00687 Uint cyclic_idx : 24;
00688 Uint onto_idx : 24;
00689 Uint UNUSED2 : 4;
00690 fld_type onto_fld : 4;
00691
00692 Uint UNUSED3 : 32;
00693 Uint UNUSED4 : 32;
00694
00695 } dist;
00696
00697 struct {
00698 # if defined(_HOST32)
00699 long long lb;
00700 long long ub;
00701 # else
00702 long lb;
00703 long ub;
00704 # endif
00705 } wd;
00706 long len[NUM_BD_WDS];
00707 };
00708
00709
00710
00711
00712
00713
00714
00715
00716 struct const_search_tbl_entry { Uint const_tbl_idx : 32;
00717 Uint UNUSED : 32;
00718 };
00719
00720 struct cs_idx_tbl_entry {
00721 Uint bottom_idx : 32;
00722 Uint top_idx : 32;
00723 Uint last_entry_idx : 32;
00724 Uint curr_inc_size : 32;
00725 };
00726
00727
00728 struct const_tbl_entry {Uint const_pool_idx : 32;
00729 Uint UNUSED1 : 7;
00730 boolean extra_zero_word : 1;
00731 boolean hollerith_endian: 1;
00732 signed int balance_factor : 2;
00733 holler_type hollerith_fld : 3;
00734 boolean boolean_constant: 1;
00735 boolean boz_constant : 1;
00736 Uint type_idx : 16;
00737 Uint left_child : 32;
00738 Uint right_child : 32;
00739 };
00740
00741
00742
00743 struct old_const_tbl_entry {Uint const_pool_idx : 32;
00744 Uint UNUSED1 : 7;
00745 boolean extra_zero_word : 1;
00746 boolean hollerith_endian: 1;
00747 Uint UNUSED2 : 2;
00748 holler_type hollerith_fld : 3;
00749 boolean boolean_constant: 1;
00750 boolean boz_constant : 1;
00751 Uint type_idx : 16;
00752 };
00753
00754 struct new_const_tbl_entry {Uint const_pool_idx : 32;
00755 Uint UNUSED1 : 7;
00756 boolean extra_zero_word : 1;
00757 boolean hollerith_endian: 1;
00758 int balance_factor : 2;
00759 holler_type hollerith_fld : 3;
00760 boolean boolean_constant: 1;
00761 boolean boz_constant : 1;
00762 Uint type_idx : 16;
00763 Uint left_child : 32;
00764 Uint right_child : 32;
00765 };
00766
00767
00768
00769
00770
00771
00772 struct equiv_tbl_entry {Uint next_equiv_grp : 16;
00773 Uint next_equiv_obj : 16;
00774
00775 Uint substring : 1;
00776 Uint dalign_me : 1;
00777 Uint dalign_shift : 1;
00778 Uint do_not_dalign : 1;
00779 Uint search_done : 1;
00780 Uint merged : 1;
00781 Uint semantics_done : 1;
00782 Uint error : 1;
00783 Uint list_idx : 24;
00784
00785 Uint line_num : 24;
00786 Uint column_num : 8;
00787
00788 fld_type opnd_fld : 8;
00789 fld_type fld : 4;
00790 Uint attr_idx : 20;
00791
00792 Uint grp_end_idx : 16;
00793 Uint grp_idx : 16;
00794 Uint offset_idx : 32;
00795
00796 Uint opnd_idx : 24;
00797 Uint unused2 : 8;
00798 Uint unused3 : 32;
00799 };
00800
00801
00802
00803
00804
00805 struct file_path_tbl_entry {Uint name_idx : 24;
00806 Uint file_class : 4;
00807 boolean tmp_file : 1;
00808 boolean output_to_o : 1;
00809 boolean system_file : 1;
00810 boolean srch_the_file : 1;
00811
00812 Uint cif_id : 16;
00813 Uint name_len : 16;
00814
00815 Uint file_idx : 16;
00816 Uint module_inline_idx: 16;
00817
00818 Uint next_file_idx : 16;
00819 Uint next_idx : 16;
00820
00821 # if defined(_HOST32) && defined(_TARGET32)
00822 Uint unused3 : 32;
00823 # endif
00824 long_type offset;
00825 };
00826
00827
00828
00829
00830
00831
00832 union global_attr_tbl_entry {
00833
00834 struct {Uint def_column : 8;
00835 Uint def_line : 24;
00836
00837 boolean defined : 1;
00838 boolean use_associated : 1;
00839 boolean optional : 1;
00840 boolean compiler_gend : 1;
00841 boolean referenced : 1;
00842 boolean flag01 : 1;
00843 boolean flag02 : 1;
00844 boolean flag03 : 1;
00845 Uint module_idx : 20;
00846 Uint object_class : 4;
00847
00848 Uint orig_name_idx : 24;
00849 Uint orig_name_len : 8;
00850 Uint length : 8;
00851 Uint name_idx : 24;
00852
00853 Uint field1 : 20;
00854 Uint field2 : 4;
00855 boolean flag1 : 1;
00856 boolean flag2 : 1;
00857 boolean flag3 : 1;
00858 boolean flag4 : 1;
00859 boolean flag5 : 1;
00860 boolean flag6 : 1;
00861 boolean flag7 : 1;
00862 boolean flag8 : 1;
00863 boolean flag9 : 1;
00864 boolean flag10 : 1;
00865 boolean flag11 : 1;
00866 boolean flag12 : 1;
00867 Uint field3 : 20;
00868 Uint field4 : 4;
00869 Uint field5 : 4;
00870
00871 Uint field6 : 16;
00872 Uint field7 : 16;
00873 Uint field8 : 32;
00874 #ifdef KEY
00875 const char *binding_label;
00876 #endif
00877
00878 } fld;
00879
00880 struct {Uint field32_1 : 32;
00881 Uint field32_2 : 32;
00882 Uint field32_3 : 32;
00883 Uint field32_4 : 32;
00884 Uint field32_5 : 32;
00885 Uint field32_5a : 24;
00886 Uint field32_6 : 8;
00887
00888 long_type length[MAX_WORDS_FOR_INTEGER];
00889 } wd;
00890 };
00891
00892
00893
00894
00895
00896
00897 union global_bounds_tbl_entry {
00898
00899 struct {Uint rank : 8;
00900 Uint array_size : 8;
00901 Uint array_class : 8;
00902 Uint unused1 : 8;
00903 Uint unused2 : 8;
00904 Uint unused3 : 24;
00905 } hdr;
00906
00907 struct {Uint lb_type : 32;
00908 Uint ub_type : 32;
00909 } type;
00910
00911
00912 long_type len[MAX_WORDS_FOR_INTEGER];
00913 };
00914
00915
00916
00917
00918
00919 struct global_line_tbl_entry {Uint global_line : 32;
00920 Uint file_line : 32;
00921
00922 Uint file_name_idx : 32;
00923 Uint unused : 16;
00924 Uint file_name_len : 16;
00925 Uint incld_file_line : 32;
00926 Uint incld_file_col : 32;
00927
00928 Uint path_name_idx : 32;
00929 Uint path_name_len : 32;
00930
00931 Uint source_lines : 32;
00932 Uint unused1 : 8;
00933 Uint cif_file_id : 24;
00934 };
00935
00936
00937
00938
00939
00940
00941 struct global_name_tbl_entry {Uint name_len : 12;
00942 Uint attr_idx : 20;
00943 boolean UNUSED : 8;
00944 Uint name_idx : 24;
00945 };
00946
00947
00948
00949
00950
00951 struct ir_list_link_entry {Uint prev_idx : 24;
00952 boolean flag_1 : 1;
00953 boolean flag_2 : 1;
00954 boolean flag_3 : 1;
00955 boolean flag_4 : 1;
00956 boolean flag_5 : 1;
00957 Uint for_ref : 3;
00958
00959 Uint unused : 4;
00960 Uint flag_8 : 1;
00961 boolean flag_6 : 1;
00962 boolean flag_7 : 1;
00963 boolean arg_desc : 1;
00964 Uint nxt_idx : 24;
00965 };
00966
00967
00968 union ir_list_tbl_entry{struct
00969 {ir_list_link_type link;
00970 opnd_type op;
00971 } il;
00972 long words[NUM_IL_WDS];
00973 struct
00974 {long64 lwd1;
00975 long64 lwd2;
00976 } il_long64;
00977 };
00978
00979
00980
00981
00982
00983
00984 struct old_ir_opr_entry {operator_type the_operator : 10;
00985 Uint dim : 3;
00986 Uint rank : 3;
00987 Uint type_idx : 16;
00988 Uint line_num : 24;
00989 Uint col_num : 8;
00990 };
00991
00992
00993 struct ir_opr_entry {operator_type the_operator : 16;
00994 Uint type_idx : 16;
00995 Uint line_num : 24;
00996 Uint col_num : 8;
00997 Uint rank : 8;
00998 Uint dim : 8;
00999 Uint UNUSED1 : 16;
01000 #ifdef KEY
01001 Uint n_alloc_cpnt : 32;
01002 #else
01003 Uint UNUSED2 : 32;
01004 #endif
01005 };
01006
01007
01008 struct old_ir_tbl_entry {old_ir_opr_type opr;
01009 opnd_type op_l;
01010 opnd_type op_r;
01011 };
01012
01013 struct ir_tbl_entry {ir_opr_type opr;
01014 opnd_type op_l;
01015 opnd_type op_r;
01016 };
01017
01018
01019
01020
01021
01022 struct name_tbl_entry {Uint attr_idx : 24;
01023 Uint name_len : 8;
01024 boolean in_only_list : 1;
01025 boolean renamed : 1;
01026 boolean def_locally : 1;
01027 boolean new_name : 1;
01028 Uint UNUSED1 : 4;
01029 Uint name_idx : 24;
01030 };
01031
01032
01033
01034
01035
01036
01037 struct mod_link_tbl_entry {Uint at_idx : 32;
01038
01039 boolean at_compressed : 1;
01040 boolean at_ln_name : 1;
01041 boolean at_searched : 1;
01042 boolean at_search_me : 1;
01043 boolean at_keep_me : 1;
01044 boolean cp_keep_me : 1;
01045 boolean cp_dalign_me : 1;
01046 boolean ln_keep_me : 1;
01047 Uint ln_idx : 24;
01048
01049 Uint cp_idx : 32;
01050 Uint cp_len : 32;
01051
01052 Uint cn_idx : 32;
01053 Uint np_len : 8;
01054 Uint np_idx : 24;
01055
01056 Uint il_idx : 32;
01057 boolean il_keep_me : 1;
01058 boolean cn_keep_me : 1;
01059 boolean np_keep_me : 1;
01060 Uint unused1 : 4;
01061 boolean ir_keep_me : 1;
01062 Uint ir_idx : 24;
01063
01064 Uint sh_idx : 32;
01065 boolean sh_keep_me : 1;
01066 Uint unused2 : 3;
01067 boolean bd_keep_me : 1;
01068 boolean sb_keep_me : 1;
01069 boolean typ_keep_me : 1;
01070 boolean sn_keep_me : 1;
01071 Uint sn_idx : 24;
01072
01073 Uint typ_idx : 16;
01074 Uint sb_idx : 16;
01075 Uint bd_idx : 32;
01076 };
01077
01078
01079
01080
01081
01082
01083 union name_pool_entry {long name_long;
01084 char name_char;
01085 };
01086
01087
01088
01089
01090
01091
01092 struct pdg_link_tbl_entry {Ulong at_idx;
01093 Ulong cn_idx;
01094 Ulong sb_idx;
01095 Uint at_typ_idx : 32;
01096 };
01097
01098
01099
01100
01101
01102
01103 struct rename_only_entry {Uint line_num : 24;
01104 Uint column_num : 8;
01105 Uint name_len : 8;
01106 Uint name_idx : 24;
01107
01108 Uint unused : 23;
01109 boolean duplicate_rename : 1;
01110 Uint unused1 : 7;
01111 boolean rename_name : 1;
01112 Uint rename_idx : 16;
01113 Uint next_idx : 16;
01114 };
01115
01116
01117
01118
01119
01120
01121 union scp_wd_entry {struct {boolean typed : 1;
01122 boolean flag1 : 1;
01123 boolean flag2 : 1;
01124 boolean flag3 : 1;
01125 Uint storage : 4;
01126 Uint field2 : 24;
01127 Uint field3 : 16;
01128 Uint type_idx : 16;
01129 } fld1;
01130
01131 struct {Uint UNUSED1 : 8;
01132 Uint field4 : 8;
01133 Uint field5 : 16;
01134 Uint UNUSED2 : 32;
01135 } fld2;
01136
01137 };
01138
01139 struct scp_tbl_entry {scp_wd_type wd[MAX_IMPL_CHS];
01140 };
01141
01142
01143
01144
01145
01146
01147 struct sec_name_tbl_entry {Uint sibling_link : 24;
01148 Uint unused1 : 8;
01149
01150
01151
01152
01153 Uint length : 8;
01154 Uint name_idx : 24;
01155
01156 Uint line_num : 24;
01157 Uint column_num : 8;
01158
01159 Uint unused2 : 7;
01160 boolean matched : 1;
01161 Uint attr_idx : 24;
01162 };
01163
01164
01165
01166
01167
01168
01169 struct sh_tbl_entry {Uint old_stmt_type : 7;
01170 Uint stmt_parse_err : 1;
01171 Uint glb_line_num : 24;
01172 Uint col_num : 8;
01173 Uint ir_idx : 24;
01174
01175
01176 Uint parent_blk_idx : 24;
01177 boolean action_stmt : 1;
01178 boolean inlining_attempted : 1;
01179 boolean cif_skip_me : 1;
01180 boolean doall_loop_end : 1;
01181 boolean loop_end : 1;
01182 boolean labeled : 1;
01183 boolean compiler_gen : 1;
01184 boolean skip_pass_2 : 1;
01185
01186 Uint unused : 16;
01187 stmt_type_type stmt_type : 16;
01188
01189
01190 Uint prev_sh_idx : 32;
01191 Uint next_sh_idx : 32;
01192 };
01193
01194
01195
01196
01197
01198
01199 union stor_blk_tbl_entry {struct {
01200 Uint name_idx : 24;
01201 Uint name_len : 8;
01202 Uint orig_scp_idx : 16;
01203 Uint scp_idx : 16;
01204
01205 Uint first_attr_idx : 20;
01206 boolean saved : 1;
01207 boolean module : 1;
01208 boolean blank_common : 1;
01209 boolean auxiliary : 1;
01210 boolean dcl_err : 1;
01211 boolean hidden : 1;
01212 boolean needs_offset : 1;
01213 boolean hosted_stack : 1;
01214 boolean def_mult_scps : 1;
01215 boolean use_associated : 1;
01216 boolean host_associated : 1;
01217 boolean has_renames : 1;
01218 boolean is_common : 1;
01219 boolean cache_align : 1;
01220 boolean hosted_static : 1;
01221 boolean dcl_common_dir : 1;
01222 boolean blk_has_npes : 1;
01223 boolean symmetric : 1;
01224 boolean pad_blk : 1;
01225 Uint old_sb_type : 5;
01226 boolean pad_amount_set : 1;
01227 boolean equivalenced : 1;
01228 #ifdef KEY
01229 boolean bind_attr : 1;
01230 #else
01231 boolean UNUSED : 1;
01232 #endif
01233 boolean name_in_stone : 1;
01234 Uint last_attr_list : 16;
01235
01236 Uint merged_blk_idx : 16;
01237 Uint UNUSED1 : 16;
01238 sb_type_type sb_type : 8;
01239 boolean align_symbol : 1;
01240 boolean fill_symbol : 1;
01241 boolean section_gp : 1;
01242 boolean section_non_gp : 1;
01243 Uint module_idx : 20;
01244
01245 Uint def_line : 24;
01246 Uint def_column : 8;
01247 boolean runtime_init : 1;
01248 boolean duplicate_common: 1;
01249 boolean x_volatile : 1;
01250 boolean flag31 : 1;
01251 boolean flag32 : 1;
01252 boolean flag33 : 1;
01253 boolean flag34 : 1;
01254 boolean flag35 : 1;
01255 Uint cif_idx : 24;
01256
01257 #ifdef KEY
01258
01259
01260
01261 Uint ext_name_idx : 24;
01262 Uint ext_name_len : 8;
01263 #else
01264 Uint pad_amount : 16;
01265 Uint UNUSED3 : 16;
01266 #endif
01267 fld_type len_fld : 8;
01268 Uint len_idx : 24;
01269 } fld;
01270
01271 struct {
01272 Uint Unused1 : 32;
01273 Uint Unused2 : 32;
01274
01275 Uint Unused3 : 32;
01276 Uint Unused4 : 32;
01277
01278 Uint Unused5 : 32;
01279 Uint Unused6 : 32;
01280
01281 Uint Unused7 : 32;
01282 Uint Unused8 : 32;
01283
01284
01285 # if defined(_HOST32) && defined(_TARGET32)
01286 Uint Unused9 : 32;
01287 # endif
01288 long_type blk_len;
01289 }wd;
01290 };
01291
01292
01293
01294
01295
01296
01297
01298
01299
01300 union type_tbl_entry {struct
01301 {basic_type_type type : 8;
01302 Uint dcl_value : 5;
01303 Uint UNUSED0 : 3;
01304 Uint char_class : 2;
01305 boolean kind_const : 1;
01306 boolean kind_double : 1;
01307 boolean dp_hit_me : 1;
01308 boolean resolved : 1;
01309 boolean type_is_byte : 1;
01310 boolean declared_dbl : 1;
01311 Uint UNUSED1 : 2;
01312 Uint desc : 2;
01313 fld_type type_fld : 4;
01314
01315 Uint type_idx : 24;
01316 linear_type_type linear_type : 8;
01317 long64 bit_len;
01318 }fld;
01319 struct
01320 {Uint UNUSED3 : 32;
01321 Uint UNUSED4 : 32;
01322 Uint UNUSED5 : 32;
01323 Uint index : 32;
01324 }wd2;
01325
01326 struct
01327 {Uint UNUSED6 : 32;
01328 Uint UNUSED7 : 32;
01329
01330 # if defined(_HOST32) && defined(_TARGET32)
01331 Uint UNUSED5 : 32;
01332 # endif
01333 long_type old_bit_len;
01334 }wd1;
01335
01336
01337 struct
01338 {Uint UNUSED8 : 32;
01339 Uint UNUSED9 : 32;
01340 long_type length[MAX_WORDS_FOR_INTEGER];
01341 }wd;
01342 };
01343
01344
01345 union global_type_tbl_entry {struct
01346 {basic_type_type type : 8;
01347 Uint dcl_value : 5;
01348 Uint UNUSED0 : 3;
01349 Uint char_class : 2;
01350 Uint len_lin_type : 8;
01351 Uint desc : 2;
01352 Uint UNUSED2 : 4;
01353
01354 Uint type_idx : 24;
01355 linear_type_type linear_type : 8;
01356 long64 bit_len;
01357 }fld;
01358
01359 struct
01360 {Uint UNUSED8 : 32;
01361 Uint UNUSED9 : 32;
01362 long_type length[MAX_WORDS_FOR_INTEGER];
01363 }wd;
01364 };
01365
01366
01367
01368
01369
01370
01371 struct intrin_tbl_entry {
01372 id_str_type id_str;
01373 Uint name_len : 6;
01374 boolean elemental : 1;
01375 boolean function : 1;
01376 boolean passable : 1;
01377 boolean external : 1;
01378 boolean optional : 1;
01379 boolean dope : 1;
01380 boolean generic : 1;
01381 #ifdef KEY
01382 boolean enabled : 1;
01383 #else
01384 boolean non_ansi : 1;
01385 #endif
01386 Uint n_specifics : 9;
01387 Uint intrin_enum : 9;
01388 Uint data_type : 32;
01389 #ifdef KEY
01390 Uint families : 8;
01391 #endif
01392 };
01393
01394 struct intrin_map_entry {
01395 id_str_type id_str;
01396 id_str_type mapped_4;
01397 id_str_type mapped_8;
01398 };
01399
01400
01401
01402
01403
01404
01405
01406
01407 extern void add_attr_to_local_list(int);
01408 extern void align_bit_length(size_offset_type *, int);
01409 extern void assign_offset(int);
01410 #ifdef KEY
01411 extern void assign_bind_c_offset(int, boolean);
01412 #endif
01413 extern void assign_storage_blk(int);
01414 extern attr_aux_tbl_type *attr_aux_var_error(char *, int);
01415 extern bounds_tbl_type *bd_var_error(char *, int);
01416 extern void bits_and_bytes_to_words(size_offset_type *, int, int);
01417 extern void global_name_semantics(int, int, int, int, int);
01418 extern void check_for_duplicate_renames(int);
01419 extern int check_global_pgm_unit(int);
01420 extern int check_type_for_size_address(opnd_type *);
01421 extern void chg_data_obj_to_pgm_unit(int, pgm_unit_type,
01422 atp_proc_type);
01423 extern int cval_to_cn_int(int, boolean, long64 *, boolean);
01424 extern int cval_to_f_int(long_type *, long64 *, int);
01425 extern boolean compare_array_entries(int, int);
01426 extern boolean compare_derived_types(int,int);
01427 extern int compare_names(long *, int, long *, int);
01428 extern boolean compare_target_consts(long_type *, int, long_type *,
01429 int, int);
01430 extern void constant_value_semantics(opnd_type *, int);
01431 extern void create_hidden_name_tbl(int);
01432 extern int create_lib_entry_attr(char *, int, int, int);
01433 extern void data_repeat_semantics(int);
01434 extern long64 f_int_to_cval(long_type *, int);
01435 extern void fill_in_global_attr_ntry(int, int, int);
01436 extern void find_opnd_line_and_column(opnd_type *, int *, int *);
01437 extern void free_attr_list(int);
01438 extern global_attr_tbl_type *ga_var_error(char *, int);
01439 extern int gen_compiler_tmp(int, int, task_scope_type, boolean);
01440 extern int gen_debug_lbl_stmt(int, atl_debug_class_type, int);
01441 extern void gen_default_init_code(int);
01442 extern int gen_internal_lbl(int);
01443 extern int gen_tmp_equal_max_zero(opnd_type *, int, int,
01444 boolean, boolean);
01445 extern char *get_basic_type_str(int);
01446 extern void host_associated_attr_semantics(int, boolean);
01447 extern void init_name_and_stor_tbls(int, boolean);
01448 extern void init_sytb(void);
01449 extern ir_list_tbl_type *ir_list_var_error(char *, int);
01450 extern boolean kind_to_linear_type(opnd_type *, int, boolean, boolean,
01451 boolean, boolean);
01452 extern boolean validate_kind(basic_type_type, int, int, long *,
01453 linear_type_type *);
01454 extern void make_external_name(int, int, int);
01455 extern int make_ro_entry(int, int, boolean);
01456 extern long_type mpp_cn_int_to_c(int);
01457 extern int ntr_array_in_bd_tbl(int);
01458 extern int ntr_attr_list_tbl(void);
01459 extern int ntr_boz_const_tbl(int, long_type *);
01460 extern int ntr_boolean_const_tbl(int, long_type *);
01461 extern int ntr_common_in_global_attr_tbl(int, int);
01462 extern int ntr_const_tbl(int, boolean, long_type *);
01463 extern int ntr_cpnt_name(token_type *, int *, int);
01464 extern void ntr_global_name_tbl(int, int, int);
01465 extern int ntr_global_attr_tbl(int, int);
01466 extern int ntr_global_type_tbl(int);
01467 extern void ntr_hidden_name_tbl(int, int, int);
01468 extern int ntr_host_in_sym_tbl(token_type *,int,int,int,boolean);
01469 extern int ntr_int_const_tbl(int, long64);
01470 extern int ntr_ir_list_tbl(void);
01471 extern int ntr_ir_tbl(void);
01472 extern int ntr_gl_ir_list_tbl(void);
01473 extern int ntr_gl_ir_tbl(void);
01474 extern int ntr_gl_sh_tbl(void);
01475 extern int ntr_local_attr_list(char *, int, int, int);
01476 extern int ntr_sh_tbl(void);
01477 extern int ntr_stor_blk_tbl(char *, int, int, int, int);
01478 extern int ntr_sym_tbl(token_type *, int);
01479 extern int ntr_type_tbl(void);
01480 extern int ntr_unshared_const_tbl(int, boolean, long_type *);
01481 extern void remove_hidden_name_ntry(int);
01482 extern void remove_hidden_name_tbl(int);
01483 extern void remove_ln_ntry(int);
01484 extern int reserve_array_ntry(int);
01485 extern int set_based_stor_blk(void);
01486 extern void set_stride_for_first_dim(int, size_offset_type *);
01487 extern boolean size_offset_binary_calc(size_offset_type *,
01488 size_offset_type *,
01489 operator_type,
01490 size_offset_type *);
01491 extern boolean size_offset_logical_calc(size_offset_type *,
01492 size_offset_type *,
01493 operator_type,
01494 size_offset_type *);
01495 extern boolean size_offset_min_max_calc(size_offset_type *,
01496 size_offset_type *,
01497 operator_type,
01498 size_offset_type *);
01499 extern boolean srch_global_name_tbl(char *, int, int *);
01500 extern int srch_hidden_name_tbl(char *, int, int, int *, int *);
01501 extern int srch_host_stor_blk_tbl(token_type *);
01502 extern int srch_host_sym_tbl(char *, int, int *, boolean);
01503 #ifdef KEY
01504 extern int srch_host_sym_tbl_for_import(char *, int, int *);
01505 extern int import_from_host(char *, int, int *, int);
01506 #endif
01507 extern int srch_kwd_name(char *, int, int, int *);
01508 extern int srch_linked_sn(char *, int, int *);
01509 extern int srch_name_tbl(char *, int, int *, name_tbl_type *,
01510 name_pool_type *, int, int);
01511 extern int srch_stor_blk_tbl(char *, int, int);
01512 extern int srch_sym_tbl(char *, int, int *);
01513 extern size_offset_type stor_bit_size_of(int, boolean, boolean);
01514 extern attr_tbl_type *sytb_var_error(char *, int);
01515 extern void use_stmt_semantics(void);
01516 #ifdef KEY
01517 int decorate(char *, int, int);
01518 #endif
01519
01520
01521
01522
01523
01524
01525
01526
01527 extern attr_list_tbl_type *RESTRICT attr_list_tbl;
01528 extern int attr_list_tbl_idx;
01529 extern int attr_list_tbl_inc;
01530 extern int attr_list_tbl_size;
01531 extern int attr_list_tbl_limit;
01532 extern int attr_list_tbl_num_wds;
01533 extern int attr_list_tbl_init_size;
01534 extern int attr_list_tbl_largest_idx;
01535
01536 extern attr_tbl_type *RESTRICT attr_tbl;
01537 extern int attr_tbl_idx;
01538 extern int attr_tbl_inc;
01539 extern int attr_tbl_size;
01540 extern int attr_tbl_limit;
01541 extern int attr_tbl_num_wds;
01542 extern int attr_tbl_init_size;
01543 extern int attr_tbl_largest_idx;
01544
01545 extern attr_aux_tbl_type *RESTRICT attr_aux_tbl;
01546 extern int attr_aux_tbl_idx;
01547 extern int attr_aux_tbl_inc;
01548 extern int attr_aux_tbl_size;
01549 extern int attr_aux_tbl_limit;
01550 extern int attr_aux_tbl_num_wds;
01551 extern int attr_aux_tbl_init_size;
01552 extern int attr_aux_tbl_largest_idx;
01553
01554 extern bounds_tbl_type *RESTRICT bounds_tbl;
01555 extern int bounds_tbl_idx;
01556 extern int bounds_tbl_inc;
01557 extern int bounds_tbl_size;
01558 extern int bounds_tbl_limit;
01559 extern int bounds_tbl_num_wds;
01560 extern int bounds_tbl_init_size;
01561 extern int bounds_tbl_largest_idx;
01562
01563 extern int ieee_const_tbl_idx[];
01564
01565 extern const_tbl_type *RESTRICT const_tbl;
01566 extern int const_tbl_idx;
01567 extern int const_tbl_inc;
01568 extern int const_tbl_size;
01569 extern int const_tbl_limit;
01570 extern int const_tbl_num_wds;
01571 extern int const_tbl_init_size;
01572 extern int const_tbl_largest_idx;
01573
01574 extern int cn_root_idx[Num_Linear_Types];
01575
01576 extern const_pool_type *RESTRICT const_pool;
01577 extern int const_pool_idx;
01578 extern int const_pool_inc;
01579 extern int const_pool_size;
01580 extern int const_pool_limit;
01581 extern int const_pool_num_wds;
01582 extern int const_pool_init_size;
01583 extern int const_pool_largest_idx;
01584
01585 extern equiv_tbl_type *RESTRICT equiv_tbl;
01586 extern int equiv_tbl_idx;
01587 extern int equiv_tbl_inc;
01588 extern int equiv_tbl_size;
01589 extern int equiv_tbl_limit;
01590 extern int equiv_tbl_num_wds;
01591 extern int equiv_tbl_init_size;
01592 extern int equiv_tbl_largest_idx;
01593
01594 extern file_path_tbl_type *RESTRICT file_path_tbl;
01595 extern int file_path_tbl_idx;
01596 extern int file_path_tbl_inc;
01597 extern int file_path_tbl_size;
01598 extern int file_path_tbl_limit;
01599 extern int file_path_tbl_num_wds;
01600 extern int file_path_tbl_init_size;
01601 extern int file_path_tbl_largest_idx;
01602
01603 extern global_attr_tbl_type *RESTRICT global_attr_tbl;
01604 extern int global_attr_tbl_idx;
01605 extern int global_attr_tbl_inc;
01606 extern int global_attr_tbl_size;
01607 extern int global_attr_tbl_limit;
01608 extern int global_attr_tbl_num_wds;
01609 extern int global_attr_tbl_init_size;
01610 extern int global_attr_tbl_largest_idx;
01611
01612 extern global_bounds_tbl_type *RESTRICT global_bounds_tbl;
01613 extern int global_bounds_tbl_idx;
01614 extern int global_bounds_tbl_inc;
01615 extern int global_bounds_tbl_size;
01616 extern int global_bounds_tbl_limit;
01617 extern int global_bounds_tbl_num_wds;
01618 extern int global_bounds_tbl_init_size;
01619 extern int global_bounds_tbl_largest_idx;
01620
01621 extern global_line_tbl_type *RESTRICT global_line_tbl;
01622 extern long global_line_tbl_idx;
01623 extern int global_line_tbl_inc;
01624 extern long global_line_tbl_size;
01625 extern long global_line_tbl_limit;
01626 extern int global_line_tbl_num_wds;
01627 extern int global_line_tbl_init_size;
01628 extern long global_line_tbl_largest_idx;
01629
01630 extern name_tbl_type *RESTRICT global_name_tbl;
01631 extern long global_name_tbl_idx;
01632 extern int global_name_tbl_inc;
01633 extern long global_name_tbl_size;
01634 extern long global_name_tbl_limit;
01635 extern int global_name_tbl_num_wds;
01636 extern int global_name_tbl_init_size;
01637 extern long global_name_tbl_largest_idx;
01638
01639 extern global_type_tbl_type *RESTRICT global_type_tbl;
01640 extern int global_type_tbl_idx;
01641 extern int global_type_tbl_inc;
01642 extern int global_type_tbl_size;
01643 extern int global_type_tbl_limit;
01644 extern int global_type_tbl_num_wds;
01645 extern int global_type_tbl_init_size;
01646 extern int global_type_tbl_largest_idx;
01647
01648 extern global_ir_tbl_type *RESTRICT global_ir_tbl;
01649 extern int global_ir_tbl_idx;
01650 extern int global_ir_tbl_inc;
01651 extern int global_ir_tbl_init_size;
01652 extern int global_ir_tbl_limit;
01653 extern int global_ir_tbl_num_wds;
01654 extern int global_ir_tbl_size;
01655 extern int global_ir_tbl_largest_idx;
01656
01657 extern global_ir_list_tbl_type *RESTRICT global_ir_list_tbl;
01658 extern int global_ir_list_tbl_idx;
01659 extern int global_ir_list_tbl_inc;
01660 extern int global_ir_list_tbl_init_size;
01661 extern int global_ir_list_tbl_limit;
01662 extern int global_ir_list_tbl_num_wds;
01663 extern int global_ir_list_tbl_size;
01664 extern int global_ir_list_tbl_largest_idx;
01665
01666 extern global_sh_tbl_type *RESTRICT global_sh_tbl;
01667 extern int global_sh_tbl_idx;
01668 extern int global_sh_tbl_inc;
01669 extern int global_sh_tbl_init_size;
01670 extern int global_sh_tbl_limit;
01671 extern int global_sh_tbl_num_wds;
01672 extern int global_sh_tbl_size;
01673 extern int global_sh_tbl_largest_idx;
01674
01675 extern name_tbl_type *RESTRICT hidden_name_tbl;
01676 extern int hidden_name_tbl_idx;
01677 extern int hidden_name_tbl_inc;
01678 extern int hidden_name_tbl_size;
01679 extern int hidden_name_tbl_limit;
01680 extern int hidden_name_tbl_num_wds;
01681 extern int hidden_name_tbl_init_size;
01682 extern int hidden_name_tbl_largest_idx;
01683
01684 extern ir_tbl_type *RESTRICT ir_tbl;
01685 extern int ir_tbl_idx;
01686 extern int ir_tbl_inc;
01687 extern int ir_tbl_size;
01688 extern int ir_tbl_limit;
01689 extern int ir_tbl_num_wds;
01690 extern int ir_tbl_init_size;
01691 extern int ir_tbl_largest_idx;
01692
01693 extern ir_list_tbl_type *RESTRICT ir_list_tbl;
01694 extern int ir_list_tbl_idx;
01695 extern int ir_list_tbl_inc;
01696 extern int ir_list_tbl_size;
01697 extern int ir_list_tbl_limit;
01698 extern int ir_list_tbl_num_wds;
01699 extern int ir_list_tbl_init_size;
01700 extern int ir_list_tbl_largest_idx;
01701
01702 extern name_tbl_type *RESTRICT loc_name_tbl;
01703 extern int loc_name_tbl_idx;
01704 extern int loc_name_tbl_inc;
01705 extern int loc_name_tbl_size;
01706 extern int loc_name_tbl_limit;
01707 extern int loc_name_tbl_num_wds;
01708 extern int loc_name_tbl_init_size;
01709 extern int loc_name_tbl_largest_idx;
01710
01711 extern mod_link_tbl_type *RESTRICT mod_link_tbl;
01712 extern long mod_link_tbl_idx;
01713 extern int mod_link_tbl_inc;
01714 extern long mod_link_tbl_size;
01715 extern long mod_link_tbl_limit;
01716 extern int mod_link_tbl_num_wds;
01717 extern int mod_link_tbl_init_size;
01718 extern long mod_link_tbl_largest_idx;
01719
01720 extern name_pool_type *RESTRICT name_pool;
01721 extern int name_pool_idx;
01722 extern int name_pool_inc;
01723 extern int name_pool_size;
01724 extern int name_pool_limit;
01725 extern int name_pool_num_wds;
01726 extern int name_pool_init_size;
01727 extern int name_pool_largest_idx;
01728
01729 extern pdg_link_tbl_type *RESTRICT pdg_link_tbl;
01730 extern long pdg_link_tbl_idx;
01731 extern int pdg_link_tbl_inc;
01732 extern long pdg_link_tbl_size;
01733 extern long pdg_link_tbl_limit;
01734 extern int pdg_link_tbl_num_wds;
01735 extern int pdg_link_tbl_init_size;
01736 extern long pdg_link_tbl_largest_idx;
01737
01738 extern rename_only_tbl_type *RESTRICT rename_only_tbl;
01739 extern int rename_only_tbl_idx;
01740 extern int rename_only_tbl_inc;
01741 extern int rename_only_tbl_size;
01742 extern int rename_only_tbl_limit;
01743 extern int rename_only_tbl_num_wds;
01744 extern int rename_only_tbl_init_size;
01745 extern int rename_only_tbl_largest_idx;
01746
01747 extern scp_tbl_type *RESTRICT scp_tbl;
01748 extern int scp_tbl_idx;
01749 extern int scp_tbl_inc ;
01750 extern int scp_tbl_size;
01751 extern int scp_tbl_limit;
01752 extern int scp_tbl_num_wds;
01753 extern int scp_tbl_init_size;
01754 extern int scp_tbl_largest_idx;
01755
01756 extern sec_name_tbl_type *RESTRICT sec_name_tbl;
01757 extern int sec_name_tbl_idx;
01758 extern int sec_name_tbl_inc;
01759 extern int sec_name_tbl_size;
01760 extern int sec_name_tbl_limit;
01761 extern int sec_name_tbl_num_wds;
01762 extern int sec_name_tbl_init_size;
01763 extern int sec_name_tbl_largest_idx;
01764
01765 extern sh_tbl_type *RESTRICT sh_tbl;
01766 extern int sh_tbl_idx;
01767 extern int sh_tbl_inc;
01768 extern int sh_tbl_size;
01769 extern int sh_tbl_limit;
01770 extern int sh_tbl_num_wds;
01771 extern int sh_tbl_init_size;
01772 extern int sh_tbl_largest_idx;
01773
01774 extern stor_blk_tbl_type *RESTRICT stor_blk_tbl;
01775 extern int stor_blk_tbl_idx;
01776 extern int stor_blk_tbl_inc;
01777 extern int stor_blk_tbl_size;
01778 extern int stor_blk_tbl_limit;
01779 extern int stor_blk_tbl_num_wds;
01780 extern int stor_blk_tbl_init_size;
01781 extern int stor_blk_tbl_largest_idx;
01782
01783 extern name_pool_type *RESTRICT str_pool;
01784 extern int str_pool_idx;
01785 extern int str_pool_inc;
01786 extern int str_pool_size;
01787 extern int str_pool_limit;
01788 extern int str_pool_num_wds;
01789 extern int str_pool_init_size;
01790 extern int str_pool_largest_idx;
01791
01792 extern type_tbl_type *RESTRICT type_tbl;
01793 extern int type_tbl_idx;
01794 extern int type_tbl_inc;
01795 extern int type_tbl_size;
01796 extern int type_tbl_limit;
01797 extern int type_tbl_num_wds;
01798 extern int type_tbl_init_size;
01799 extern int type_tbl_largest_idx;
01800
01801 #ifdef KEY
01802 extern intrin_tbl_type intrin_tbl[];
01803 extern unsigned MAX_INTRIN_TBL_SIZE;
01804 #else
01805 extern intrin_tbl_type intrin_tbl[MAX_INTRIN_TBL_SIZE];
01806 #endif
01807 extern intrin_map_type intrin_map[MAX_INTRIN_MAP_SIZE];
01808 extern void (*intrinsic_semantics[])();
01809
01810 extern char *pgm_unit_str[];
01811
01812 # ifdef _DEBUG
01813 extern void print_so(size_offset_type);
01814 # endif
01815 #ifdef KEY
01816 extern char *file_and_line(int);
01817 #endif