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