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