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 #ifndef GCC_TOPLEV_H
00028 #define GCC_TOPLEV_H
00029
00030
00031
00032 #define skip_leading_substring(whole, part) \
00033 (strncmp (whole, part, strlen (part)) ? NULL : whole + strlen (part))
00034
00035 extern int toplev_main PARAMS ((int, char **));
00036 extern int read_integral_parameter PARAMS ((const char *, const char *,
00037 const int));
00038 extern void strip_off_ending PARAMS ((char *, int));
00039 extern void print_time PARAMS ((const char *, long));
00040 extern const char *trim_filename PARAMS ((const char *));
00041 extern void internal_error PARAMS ((const char *, ...))
00042 ATTRIBUTE_NORETURN;
00043 extern void fatal_io_error PARAMS ((const char *, ...))
00044 ATTRIBUTE_NORETURN;
00045 extern void _fatal_insn_not_found PARAMS ((struct rtx_def *,
00046 const char *, int,
00047 const char *))
00048 ATTRIBUTE_NORETURN;
00049 extern void _fatal_insn PARAMS ((const char *,
00050 struct rtx_def *,
00051 const char *, int,
00052 const char *))
00053 ATTRIBUTE_NORETURN;
00054
00055 #define fatal_insn(msgid, insn) \
00056 _fatal_insn (msgid, insn, __FILE__, __LINE__, __FUNCTION__)
00057 #define fatal_insn_not_found(insn) \
00058 _fatal_insn_not_found (insn, __FILE__, __LINE__, __FUNCTION__)
00059
00060
00061
00062
00063 extern void warning PARAMS ((const char *, ...));
00064 extern void error PARAMS ((const char *, ...));
00065 extern void fatal_error PARAMS ((const char *, ...))
00066 ATTRIBUTE_NORETURN;
00067 extern void pedwarn PARAMS ((const char *, ...));
00068 extern void pedwarn_with_file_and_line PARAMS ((const char *, int,
00069 const char *, ...));
00070 extern void warning_with_file_and_line PARAMS ((const char *, int,
00071 const char *, ...));
00072 extern void error_with_file_and_line PARAMS ((const char *, int,
00073 const char *, ...));
00074 extern void sorry PARAMS ((const char *, ...));
00075
00076 extern void rest_of_decl_compilation PARAMS ((union tree_node *,
00077 const char *, int, int));
00078 extern void rest_of_type_compilation PARAMS ((union tree_node *, int));
00079 extern void rest_of_compilation PARAMS ((union tree_node *));
00080
00081 extern void pedwarn_with_decl PARAMS ((union tree_node *,
00082 const char *, ...));
00083 extern void warning_with_decl PARAMS ((union tree_node *,
00084 const char *, ...));
00085 extern void error_with_decl PARAMS ((union tree_node *,
00086 const char *, ...));
00087
00088 extern void announce_function PARAMS ((union tree_node *));
00089
00090 extern void error_for_asm PARAMS ((struct rtx_def *,
00091 const char *, ...));
00092 extern void warning_for_asm PARAMS ((struct rtx_def *,
00093 const char *, ...));
00094 extern void warn_deprecated_use PARAMS ((union tree_node *));
00095
00096 extern void output_clean_symbol_name PARAMS ((FILE *, const char *));
00097 #ifdef BUFSIZ
00098 extern void output_quoted_string PARAMS ((FILE *, const char *));
00099 extern void output_file_directive PARAMS ((FILE *, const char *));
00100 #endif
00101 extern void do_abort PARAMS ((void)) ATTRIBUTE_NORETURN;
00102 extern void botch PARAMS ((const char *))
00103 ATTRIBUTE_NORETURN;
00104
00105 #ifdef BUFSIZ
00106
00107
00108 extern void fnotice PARAMS ((FILE *, const char *, ...))
00109 ATTRIBUTE_PRINTF_2;
00110 #endif
00111
00112 extern int wrapup_global_declarations PARAMS ((union tree_node **, int));
00113 extern void check_global_declarations PARAMS ((union tree_node **, int));
00114
00115 extern const char *progname;
00116 extern const char *dump_base_name;
00117 extern const char *aux_base_name;
00118
00119 extern int target_flags_explicit;
00120
00121
00122 extern struct ht *ident_hash;
00123
00124
00125
00126
00127 extern void set_fast_math_flags PARAMS ((int));
00128
00129
00130 extern bool fast_math_flags_set_p PARAMS ((void));
00131
00132
00133
00134
00135 #ifndef exact_log2
00136 #define exact_log2(N) exact_log2_wide ((unsigned HOST_WIDE_INT) (N))
00137 #define floor_log2(N) floor_log2_wide ((unsigned HOST_WIDE_INT) (N))
00138 #endif
00139 extern int exact_log2_wide PARAMS ((unsigned HOST_WIDE_INT));
00140 extern int floor_log2_wide PARAMS ((unsigned HOST_WIDE_INT));
00141
00142 #ifdef SGI_MONGOOSE
00143 extern void dump_parse_tree PARAMS ((char *, union tree_node *));
00144 #endif
00145
00146 #endif