00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040 #include "basic.h"
00041
00042
00043
00044 #define UNDEFINED -1
00045
00046 #define ENDIAN_BIG 0
00047 #define ENDIAN_LITTLE 1
00048
00049 #define EXTENDED_ANSI 0
00050 #define KR_ANSI 1
00051 #define STRICT_ANSI 2
00052 #define POSIX 3
00053
00054 #define CALL_SHARED 0
00055 #define NON_SHARED 1
00056 #define DSO_SHARED 2
00057 #define RELOCATABLE 4
00058
00059 #define NORMAL_MP 0
00060 #define CRAY_MP 1
00061
00062 typedef enum {
00063 M_CPU,
00064 M_ARCH,
00065 M_TUNE,
00066 } m_flag;
00067
00068 typedef enum {
00069 ABI_RAG32,
00070 ABI_N32,
00071 ABI_64,
00072 ABI_I32,
00073 ABI_I64,
00074 ABI_IA32,
00075 ABI_W64
00076 } ABI;
00077 typedef enum {
00078 ISA_NONE = 0,
00079 ISA_MIPS1 = 1,
00080 ISA_MIPS2 = 2,
00081 ISA_MIPS3 = 3,
00082 ISA_MIPS4 = 4,
00083 ISA_MIPS5 = 5,
00084 ISA_MIPS6 = 6,
00085 ISA_MIPSX = 9,
00086 ISA_MIPS64 = 10,
00087 ISA_IA641 = 11,
00088 ISA_IA32 = 12,
00089 ISA_X8664 = 13,
00090 ISA_COMPUTE_10 = 14,
00091 ISA_COMPUTE_11 = 15,
00092 ISA_COMPUTE_12 = 16,
00093 ISA_COMPUTE_13 = 17,
00094 ISA_SL = 18
00095 } ISA;
00096
00097 extern boolean debug;
00098
00099 extern boolean nostdinc;
00100
00101 extern boolean print_help;
00102
00103 extern char *help_pattern;
00104
00105 extern int inline_t;
00106
00107 #ifdef KEY
00108
00109
00110 extern int run_inline;
00111 #endif
00112
00113 extern boolean dashdash_flag;
00114
00115
00116 extern boolean read_stdin;
00117
00118 extern boolean xpg_flag;
00119
00120 extern int default_olevel;
00121
00122 extern int ofast;
00123
00124 extern int instrumentation_invoked;
00125
00126 extern boolean ftz_crt;
00127
00128 #ifdef KEY
00129 extern char *f90_module_dir;
00130 extern int malloc_algorithm;
00131 #endif
00132
00133
00134 extern boolean is_toggled (int obj);
00135
00136
00137 extern void toggle (int *obj, int value);
00138
00139
00140
00141
00142 extern void Check_Target ( void );
00143
00144
00145 extern void dash_F_option(void);
00146
00147
00148 extern void untoggle (int *obj, int value);
00149
00150
00151 extern void save_name (char **obj, char *value);
00152
00153
00154 extern void opt_action (int optflag);
00155
00156
00157 extern boolean flag_is_superceded (int optflag);
00158
00159 #ifdef KEY
00160 extern void check_convert_name(char *name);
00161 #endif
00162
00163
00164 extern void check_opt_tls_model(char *model);
00165
00166
00167 extern void check_dashdash ( void );
00168
00169
00170 extern void set_dsm_options (void);
00171
00172 extern void Process_Mp (void);
00173 extern void Process_Cray_Mp (void);
00174
00175 extern void toggle_inline_on (void);
00176
00177 extern void print_file_path (char *, int);
00178
00179 extern int subverbose ;
00180
00181 extern char *target_cpu;