00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef controls_INCLUDED
00037 #define controls_INCLUDED
00038 #ifdef __cplusplus
00039 extern "C" {
00040 #endif
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059 #ifdef _KEEP_RCS_ID
00060 #endif
00061
00062
00063 typedef enum control {
00064 CONTROL_MIN_CONTROL = 0,
00065 #define CONTROL_FIRST CONTROL_ACIR
00066 CONTROL_ACIR,
00067 CONTROL_ALIAS,
00068 CONTROL_ALNDCL,
00069 CONTROL_ALNREF,
00070 CONTROL_ALNSTD,
00071 CONTROL_ARGOVERLAP,
00072 CONTROL_C,
00073 CONTROL_CALLMOD,
00074 CONTROL_CASE,
00075 CONTROL_CHAR,
00076 CONTROL_CHKARGS,
00077 CONTROL_CHKREC,
00078 CONTROL_CHKSUB,
00079 CONTROL_CONSTP,
00080 CONTROL_COMNAME,
00081 CONTROL_COPYP,
00082 CONTROL_DEFARGOVERLAP,
00083 CONTROL_DEFFUNC,
00084 CONTROL_DEFKEEPARGS,
00085 CONTROL_DEFLIB,
00086 CONTROL_DEFNEWMEM,
00087 CONTROL_DEFREC,
00088 CONTROL_DEFSEF,
00089 CONTROL_DEFSRC,
00090 CONTROL_DEFVOL,
00091 CONTROL_DIAG,
00092 CONTROL_DLINE,
00093 CONTROL_DOMAIN,
00094 CONTROL_EXITS,
00095 CONTROL_FBLANK,
00096 CONTROL_FCM,
00097 CONTROL_FCOLS,
00098 CONTROL_FERAL,
00099 CONTROL_FLOW,
00100 CONTROL_FP,
00101 CONTROL_FTAB,
00102 CONTROL_FUNC,
00103 CONTROL_G,
00104 CONTROL_INLINE,
00105 CONTROL_KEEPARGS,
00106 CONTROL_LEAF,
00107 CONTROL_MAP,
00108 CONTROL_MEMLIMIT,
00109 CONTROL_NEWMEM,
00110 CONTROL_NOARGOVERLAP,
00111 CONTROL_NOFUNC,
00112 CONTROL_NOINLINE,
00113 CONTROL_NOKEEPARGS,
00114 CONTROL_NONEWMEM,
00115 CONTROL_NOREC,
00116 CONTROL_NOSEF,
00117 CONTROL_NOVOL,
00118 CONTROL_ONETRIP,
00119 CONTROL_OFORM,
00120 CONTROL_MOPT,
00121 CONTROL_PROF,
00122 CONTROL_PTRVOL,
00123 CONTROL_QUIT,
00124 CONTROL_REAL,
00125 CONTROL_RECURSIVE,
00126 CONTROL_REG,
00127 CONTROL_RETPTS,
00128 CONTROL_SAVE,
00129 CONTROL_SCHED,
00130 CONTROL_SEF,
00131 CONTROL_STDDIAG,
00132 CONTROL_TAME,
00133 CONTROL_TARG,
00134 CONTROL_UNROLL,
00135 CONTROL_UNROLLEXACT,
00136 CONTROL_VOLATILE,
00137 CONTROL_WHOLE,
00138 CONTROL_WILD,
00139 CONTROL_XREF,
00140 #define CONTROL_JFE_LAST (CONTROL_XREF+1)
00141
00142
00143 CONTROL_IVREP,
00144 CONTROL_XOPT,
00145
00146 CONTROL_MAX_CONTROL
00147 #define CONTROL_LAST CONTROL_MAX_CONTROL
00148 } CONTROL;
00149
00150
00151
00152
00153 #define HCO_AAVAL 1
00154 #define HCO_IMPLICIT 2
00155 #define HCO_ONCE 4
00156 #define HCO_PUSH 8
00157 #define HCO_POP 16
00158 #define HCO_PRAGMA 32
00159
00160
00161 extern void Init_Controls_Tbl ( void );
00162
00163
00164 extern void Handle_Control_Opt ( char *, BOOL );
00165
00166
00167 extern void Apply_Controls ( void );
00168
00169
00170 extern INT32 Get_Int_Ctrl_Val ( CONTROL a );
00171 extern char *Get_Name_Ctrl_Val ( CONTROL a );
00172
00173
00174 extern void Pop_Controls ( INT32 level );
00175
00176
00177 extern void Save_Routine_Top_Ctrls ( void );
00178 extern void Restore_Routine_Top_Ctrls ( void );
00179
00180
00181 extern void Restore_Cmd_Line_Ctrls ( void );
00182
00183
00184 extern void Print_Controls ( FILE *fp, char *tag, BOOL def );
00185
00186
00187 extern INT Process_Pragma ( char *x );
00188
00189
00190 extern INT Process_Control_Opt ( char *save_a, INT flags );
00191
00192
00193 extern void Fix_g_O(void);
00194
00195 #ifdef __cplusplus
00196 }
00197 #endif
00198 #endif