00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef GCC_GCC_H
00022 #define GCC_GCC_H
00023
00024 #include "version.h"
00025
00026
00027
00028 struct spec_function
00029 {
00030 const char *name;
00031 const char *(*func) PARAMS ((int, const char **));
00032 };
00033
00034
00035
00036 #define DEFAULT_SWITCH_TAKES_ARG(CHAR) \
00037 ((CHAR) == 'D' || (CHAR) == 'U' || (CHAR) == 'o' \
00038 || (CHAR) == 'e' || (CHAR) == 'T' || (CHAR) == 'u' \
00039 || (CHAR) == 'I' || (CHAR) == 'm' || (CHAR) == 'x' \
00040 || (CHAR) == 'L' || (CHAR) == 'A' || (CHAR) == 'V' \
00041 || (CHAR) == 'B' || (CHAR) == 'b')
00042
00043
00044
00045 #define DEFAULT_WORD_SWITCH_TAKES_ARG(STR) \
00046 (!strcmp (STR, "Tdata") || !strcmp (STR, "Ttext") \
00047 || !strcmp (STR, "Tbss") || !strcmp (STR, "include") \
00048 || !strcmp (STR, "imacros") || !strcmp (STR, "aux-info") \
00049 || !strcmp (STR, "idirafter") || !strcmp (STR, "iprefix") \
00050 || !strcmp (STR, "iwithprefix") || !strcmp (STR, "iwithprefixbefore") \
00051 || !strcmp (STR, "isystem") || !strcmp (STR, "-param") \
00052 || !strcmp (STR, "specs") \
00053 || !strcmp (STR, "MF") || !strcmp (STR, "MT") || !strcmp (STR, "MQ"))
00054
00055
00056
00057 extern int do_spec PARAMS ((const char *));
00058 extern void record_temp_file PARAMS ((const char *, int, int));
00059 extern void fancy_abort PARAMS ((void)) ATTRIBUTE_NORETURN;
00060 extern const char *input_filename;
00061 extern size_t input_filename_length;
00062 extern void fatal PARAMS ((const char *, ...))
00063 ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
00064 extern void error PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1;
00065 extern void pfatal_with_name PARAMS ((const char *)) ATTRIBUTE_NORETURN;
00066 extern void set_input PARAMS ((const char *));
00067
00068
00069
00070
00071 extern void lang_specific_driver PARAMS ((int *, const char *const **, int *));
00072
00073
00074 extern int lang_specific_pre_link PARAMS ((void));
00075
00076 extern int n_infiles;
00077
00078
00079 extern int lang_specific_extra_outfiles;
00080
00081
00082 extern const struct spec_function lang_specific_spec_functions[];
00083
00084
00085
00086 extern const char **outfiles;
00087
00088 #endif