Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
erbe.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 #ifndef erbe_INCLUDED
00037 #define erbe_INCLUDED
00038 #ifdef __cplusplus
00039 extern "C" {
00040 #endif
00041 
00042 /* ====================================================================
00043  * ====================================================================
00044  *
00045  *
00046  * Revision history:
00047  *  02-Nov-89 - Original Version
00048  *  01-Feb-91 - Copied for TP/Muse
00049  *
00050  * Description:
00051  *
00052  * Define the Muse back end error codes for use with the error message
00053  * handler errors.c.  The associated error descriptors may be found in
00054  * the file erbe.desc.
00055  *
00056  * See also ercg.h and ercg.desc for code generator error codes.
00057  *
00058  * ====================================================================
00059  * ====================================================================
00060  */
00061 
00062 
00063 #ifdef _KEEP_RCS_ID
00064 #endif /* _KEEP_RCS_ID */
00065 
00066 #include "errors.h"     /* Always needed */
00067 
00068 /* The error codes in each erxxx.h file should start from some multiple
00069  * of 1000, which is the phase number.
00070  */
00071 #define EC_BASE_BE      EP_BE*1000
00072 
00073 /* Global Live Range Analysis: */
00074 #define EC_Alias_Interfere      EC_BASE_BE      /* stab, stab */
00075 #define EC_Alias_Kill   EC_BASE_BE+1    /* stab, stab */
00076 #define EC_Alias_Def    EC_BASE_BE+2    /* stab, stab, stab */
00077 #define EC_Alias_Ref    EC_BASE_BE+3    /* stab, stab, stab */
00078 #define EC_Glob_Exposed EC_BASE_BE+4    /* sym */
00079 #define EC_Not_Live_Out EC_BASE_BE+5    /* sym */
00080 #define EC_Not_Avail    EC_BASE_BE+6    /* sym */
00081 #define EC_Part_Avail   EC_BASE_BE+7    /* sym */
00082 #define EC_Not_Live_In  EC_BASE_BE+8    /* sym */
00083 
00084 #define EC_Rtn_Conflict EC_BASE_BE+10   /* str */
00085 #define EC_Rtn_Uninit   EC_BASE_BE+11   /* str */
00086 #define EC_Formal_Ref   EC_BASE_BE+12   /* str */
00087 #define EC_Uninit_Ref   EC_BASE_BE+13   /* str, str */
00088 
00089 /* Call processing: */
00090 #define EC_Invalid_Call EC_BASE_BE+30   /* str, str */
00091 #define EC_Callee_TN    EC_BASE_BE+31   /* str, int */
00092 
00093 /* FE input (btom, sgiops): */
00094 #define EC_B_Synch      EC_BASE_BE+40   /* int, int, str */
00095 #define EC_Inv_Offset   EC_BASE_BE+41   /* int, str */
00096 #define EC_Inv_Flist    EC_BASE_BE+43   /* str, str, str */
00097 
00098 /* Alias analysis: */
00099 #define EC_Tree_Class   EC_BASE_BE+50   /* tn, int, node */
00100 #define EC_Xar_Sclass   EC_BASE_BE+51   /* str, int, stab, str */
00101 #define EC_Bad_MOS_Tree EC_BASE_BE+52   /* node, int, str */
00102 #define EC_Store_Const  EC_BASE_BE+53   /* none */
00103 
00104 
00105 /* Control Flow Analysis and Optimization: */
00106 #define EC_TO_Missed    EC_BASE_BE+60   /* none */
00107 #define EC_Expanded     EC_BASE_BE+61   /* int, str */
00108 
00109 /* RB support */
00110 #define EC_Mult_RB_Reg  EC_BASE_BE+70   /* tn, int, int */
00111 #define EC_Mult_RB_Tn   EC_BASE_BE+71   /* tn */
00112 
00113 #define EC_Fold_Arith_Too_Big EC_BASE_BE+80  /* str */
00114 #define EC_Fold_Arith_Too_Big2 EC_BASE_BE+81  /* int */
00115 #define EC_Const_Copy_Too_Big EC_BASE_BE+82  /* str */
00116 #define EC_Const_Copy_Too_Big2 EC_BASE_BE+83  /* int */
00117 #define EC_Gopt_Too_Big EC_BASE_BE+84   /* str */
00118 #define EC_Gopt_Too_Big2 EC_BASE_BE+85  /* int */
00119 #define EC_Gopt_Space   EC_BASE_BE+86   /* str */
00120 #define EC_Gopt_Space_Skip EC_BASE_BE+87 /* str */
00121 
00122 /* LNO error messages */
00123 #define EC_LNO_Bad_Pragma_Int               EC_BASE_BE+90 /* str, int */
00124 #define EC_LNO_Bad_Pragma_String            EC_BASE_BE+91 /* str, str */
00125 #define EC_LNO_Bad_Pragma_Int_Advisory      EC_BASE_BE+92 /* str, int */
00126 #define EC_LNO_Bad_Pragma_String_Advisory   EC_BASE_BE+93 /* str, str */
00127 #define EC_LNO_Generic                      EC_BASE_BE+94 /* str, str */
00128 #define EC_LNO_Generic_Error                EC_BASE_BE+95 /* str, str */
00129 #define EC_LNO_Generic_Advisory             EC_BASE_BE+96 /* str, str */
00130 #define EC_LNO_Generic2String               EC_BASE_BE+97 /* str, str, str */
00131 
00132 #define EC_Bad_Pragma_Abort                 EC_BASE_BE+98 /* str, str, str */
00133 
00134 /* MP lowerer error messages */
00135 #define EC_MPLOWER_red_mult_use  EC_BASE_BE+110
00136 #define EC_MPLOWER_red_not_found EC_BASE_BE+111
00137 #define EC_MPLOWER_red_conflict  EC_BASE_BE+112
00138 #define EC_MPLOWER_red_misuse    EC_BASE_BE+113
00139 #define EC_MPLOWER_red_badop     EC_BASE_BE+114
00140 #define EC_MPLOWER_shared_store  EC_BASE_BE+115
00141 #define EC_MPLOWER_local_nosize  EC_BASE_BE+116
00142 #define EC_MPLOWER_used_noscope  EC_BASE_BE+117
00143 #define EC_MPLOWER_priv_equiv    EC_BASE_BE+118
00144 #define EC_MPLOWER_defpriv_equiv EC_BASE_BE+119
00145 #define EC_MPLOWER_first_last_priv EC_BASE_BE+120
00146 #define EC_MPLOWER_reprivatization EC_BASE_BE+121
00147 #define EC_MPLOWER_red_of_private  EC_BASE_BE+122
00148 #define EC_MPLOWER_thrpriv_scope   EC_BASE_BE+123
00149 #define EC_MPLOWER_Generic_Error EC_BASE_BE+124  /* str,str */
00150 #define EC_MPLOWER_Generic_Warning EC_BASE_BE+125  /* str,str */
00151 
00152 /* Data layout error messages */
00153 #define EC_LAY_stack_limit      EC_BASE_BE+126
00154 #define EC_LAY_section_name     EC_BASE_BE+127
00155 
00156 /* Miscellaneous */
00157 #define EC_Skip_PU      EC_BASE_BE+130  /* str, int, str */
00158 
00159 /* DRA cloning error messages */
00160 #define EC_DRA_rii_file_io       EC_BASE_BE+140  /* str, err */
00161 #define EC_DRA_rii_file_format   EC_BASE_BE+141  /* str, str */
00162 #define EC_DRA_unsupported_type  EC_BASE_BE+142  /* str, str, str */
00163 #define EC_DRA_all_stars         EC_BASE_BE+143  /* str */
00164 #define EC_DRA_indirect_call     EC_BASE_BE+144  /* */
00165 #define EC_DRA_clone_altentry    EC_BASE_BE+145  /* */
00166 #define EC_DRA_bad_clone_request EC_BASE_BE+146  /* str, str */
00167 
00168 #ifdef __cplusplus
00169 }
00170 #endif
00171 #endif /* erbe_INCLUDED */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines