Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
module.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/module.h       5.1     04/29/99 21:22:31\n" */
00038 
00039 
00040 enum    tbl_type_values         {Null_Tbl,
00041                                  Name_Pool,
00042                                  Loc_Name_Tbl,
00043                                  Attr_Tbl,
00044                                  Bounds_Tbl,
00045                                  Const_Tbl,
00046                                  Const_Pool,
00047                                  Sec_Name_Tbl,
00048                                  Stor_Blk_Tbl,
00049                                  Type_Tbl,
00050                                  Ir_Tbl,
00051                                  Ir_List_Tbl,
00052                                  Sh_Tbl,
00053                                  Num_Of_Tbls = Sh_Tbl,
00054                                  Num_Of_Old_Tbls = Ir_List_Tbl };
00055 
00056 typedef enum    tbl_type_values         tbl_type_type;
00057 typedef union   mit_descriptor_entry    mit_descriptor_type;
00058 typedef union   mit_header_entry        mit_header_type;
00059 typedef struct  mit_inside_entry        mit_inside_type;
00060 typedef struct  old_mit_inside_entry    old_mit_inside_type;
00061 
00062 union   mit_descriptor_entry    {
00063                                  struct {tbl_type_type  tbl_type        :  8;
00064                                          Uint           unused          : 24;
00065                                          Uint           num_entries     : 32;
00066                                         } fld;
00067                                  long   wd;
00068                                 };
00069 
00070 /***********************************\
00071 |* MODULE INFORMATION TABLE HEADER *|
00072 \***********************************/
00073 
00074 struct  mit_inside_entry        {pdt_tbl_hdr_type       hdr;
00075                                  Uint                   version_num     :  8;
00076                                  Uint                   unused1         :  5;
00077                                  boolean                dalign          :  1;
00078                                  boolean                mod_has_errors  :  1;
00079                                  boolean                dp_hit_me       :  1;
00080                                  Uint                   default_integer :  8;
00081                                  Uint                   target          :  8;
00082                                  Uint                   unused2         : 16;
00083                                  Uint                   name_length     :  5;
00084                                  boolean                alternate_entry :  1;
00085                                  Uint                   float64         :  1;
00086                                  Uint                   cf77types       :  1;
00087                                  Uint                   module          :  1;
00088                                  Uint                   default32       :  1;
00089                                  Uint                   default64       :  1;
00090                                  Uint                   pointer8        :  1;
00091                                  Uint                   new_cn_tbl      :  1;
00092                                  char                   name_char[32];
00093                                 };
00094 
00095 struct  old_mit_inside_entry    {pdt_tbl_hdr_type       hdr;
00096                                  Uint                   version_num     :  8;
00097                                  Uint                   name_length     :  5;
00098                                  boolean                dalign          :  1;
00099                                  boolean                mod_has_errors  :  1;
00100                                  boolean                dp_hit_me       :  1;
00101                                  Uint                   default_integer :  8;
00102                                  Uint                   target          :  8;
00103                                  boolean                alternate_entry :  1;
00104                                  Uint                   unused2         : 24;
00105                                  Uint                   float64         :  1;
00106                                  Uint                   cf77types       :  1;
00107                                  Uint                   module          :  1;
00108                                  Uint                   default32       :  1;
00109                                  Uint                   default64       :  1;
00110                                  Uint                   pointer8        :  1;
00111                                  Uint                   unused3         :  1;
00112                                  char                   name_char[32];
00113                                 };
00114 
00115 union   mit_header_entry        {mit_inside_type        tbl;
00116                                  old_mit_inside_type    old_tbl;
00117                                  long wd[sizeof(mit_inside_type)/sizeof(long)];
00118                                 };
00119 
00120 
00121         mit_descriptor_type     mit_descriptor[Num_Of_Tbls+1];
00122         mit_header_type         mit_header;
00123 
00124 enum    md_3_linear_type_values {MD_3_Err_Res,
00125                                  MD_3_Type_Void = MD_3_Err_Res,
00126                                  MD_3_Short_Char_Const,
00127                                  MD_3_Short_Typeless_Const,
00128                                  MD_3_Typeless_4,
00129                                  MD_3_Typeless_8,
00130                                  MD_3_Long_Typeless,
00131                                  MD_3_Integer_1,
00132                                  MD_3_Integer_2,
00133                                  MD_3_Integer_4,
00134                                  MD_3_Integer_6,
00135                                  MD_3_Integer_8,
00136                                  MD_3_Real_4,
00137                                  MD_3_Real_8,
00138                                  MD_3_Real_16,
00139                                  MD_3_Complex_4,
00140                                  MD_3_Complex_8,
00141                                  MD_3_Complex_16,
00142                                  MD_3_CRI_Ptr_8,
00143                                  MD_3_Logical_1,
00144                                  MD_3_Logical_2,
00145                                  MD_3_Logical_4,
00146                                  MD_3_Logical_8,
00147                                  MD_3_Character_1,
00148                                  MD_3_Character_2,
00149                                  MD_3_Character_4,
00150                                  MD_3_CRI_Ch_Ptr_8,
00151                                  MD_3_Structure_Type,
00152                                  MD_3_CRI_Parcel_Ptr_8,
00153                                  MD_3_Num_Linear_Types
00154                                 };
00155 
00156 
00157 static  boolean keep_module_procs       = TRUE;
00158 static  char    mod_file_name[MAX_FILE_NAME_SIZE];
00159 
00160 static  char   *tbl_type_str[]         = {
00161                 " ",
00162                 "Name_Pool",
00163                 "Loc_Name_Tbl",
00164                 "Attr_Tbl",
00165                 "Bounds_Tbl",
00166                 "Const_Tbl",
00167                 "Const_Pool",
00168                 "Sec_Name_Tbl",
00169                 "Stor_Blk_Tbl",
00170                 "Type_Tbl",
00171                 "Ir_Tbl",
00172                 "Ir_List_Tbl",
00173                 "Sh_Tbl" };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines