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 #ifndef GCC_GCC_H
00026 #define GCC_GCC_H
00027
00028 #include "version.h"
00029
00030
00031
00032 struct spec_function
00033 {
00034 const char *name;
00035 const char *(*func) (int, const char **);
00036 };
00037
00038
00039
00040 #define DEFAULT_SWITCH_TAKES_ARG(CHAR) \
00041 ((CHAR) == 'D' || (CHAR) == 'U' || (CHAR) == 'o' \
00042 || (CHAR) == 'e' || (CHAR) == 'T' || (CHAR) == 'u' \
00043 || (CHAR) == 'I' || (CHAR) == 'm' || (CHAR) == 'x' \
00044 || (CHAR) == 'L' || (CHAR) == 'A' || (CHAR) == 'V' \
00045 || (CHAR) == 'B' || (CHAR) == 'b')
00046
00047
00048
00049 #define DEFAULT_WORD_SWITCH_TAKES_ARG(STR) \
00050 (!strcmp (STR, "Tdata") || !strcmp (STR, "Ttext") \
00051 || !strcmp (STR, "Tbss") || !strcmp (STR, "include") \
00052 || !strcmp (STR, "imacros") || !strcmp (STR, "aux-info") \
00053 || !strcmp (STR, "idirafter") || !strcmp (STR, "iprefix") \
00054 || !strcmp (STR, "iwithprefix") || !strcmp (STR, "iwithprefixbefore") \
00055 || !strcmp (STR, "iquote") || !strcmp (STR, "isystem") \
00056 || !strcmp (STR, "isysroot") \
00057 || !strcmp (STR, "-param") || !strcmp (STR, "specs") \
00058 || !strcmp (STR, "MF") || !strcmp (STR, "MT") || !strcmp (STR, "MQ") || !strcmp (STR, "spinfile"))
00059
00060
00061
00062 extern int do_spec (const char *);
00063 extern void record_temp_file (const char *, int, int);
00064 extern void fatal (const char *, ...) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
00065 extern void error (const char *, ...) ATTRIBUTE_PRINTF_1;
00066 extern void pfatal_with_name (const char *) ATTRIBUTE_NORETURN;
00067 extern void set_input (const char *);
00068
00069
00070
00071
00072 extern void lang_specific_driver (int *, const char *const **, int *);
00073
00074
00075 extern int lang_specific_pre_link (void);
00076
00077 extern int n_infiles;
00078
00079
00080 extern int lang_specific_extra_outfiles;
00081
00082
00083 extern const struct spec_function lang_specific_spec_functions[];
00084
00085
00086
00087 extern const char **outfiles;
00088
00089 #endif