1#ifndef OPTIONS_H 2#define OPTIONS_H 3 4enum { 5 CMODEL_UNKNOWN, 6 CMODEL_KERNEL, 7 CMODEL_LARGE, 8 CMODEL_MEDANY, 9 CMODEL_MEDIUM, 10 CMODEL_MEDLOW, 11 CMODEL_PIC, 12 CMODEL_SMALL, 13 CMODEL_TINY, 14 CMODEL_LAST, 15}; 16 17enum standard { 18 STANDARD_NONE, 19 STANDARD_GNU, 20 STANDARD_C89, 21 STANDARD_GNU89 = STANDARD_C89 | STANDARD_GNU, 22 STANDARD_C94, 23 STANDARD_GNU94 = STANDARD_C94 | STANDARD_GNU, 24 STANDARD_C99, 25 STANDARD_GNU99 = STANDARD_C99 | STANDARD_GNU, 26 STANDARD_C11, 27 STANDARD_GNU11 = STANDARD_C11 | STANDARD_GNU, 28 STANDARD_C17, 29 STANDARD_GNU17 = STANDARD_C17 | STANDARD_GNU, 30}; 31 32extern int die_if_error; 33extern int do_output; 34extern int gcc_major; 35extern int gcc_minor; 36extern int gcc_patchlevel; 37extern int optimize_level; 38extern int optimize_size; 39extern int preprocess_only; 40extern int preprocessing; 41extern int repeat_phase; 42extern int verbose; 43 44extern int cmdline_include_nr; 45extern char *cmdline_include[]; 46 47extern const char *base_filename; 48extern const char *diag_prefix; 49extern const char *gcc_base_dir; 50extern const char *multiarch_dir; 51extern const char *outfile; 52 53extern enum standard standard; 54extern unsigned int tabstop; 55 56extern int arch_big_endian; 57extern int arch_cmodel; 58extern int arch_fp_abi; 59extern int arch_m64; 60extern int arch_msize_long; 61extern int arch_os; 62 63extern int dbg_compound; 64extern int dbg_dead; 65extern int dbg_domtree; 66extern int dbg_entry; 67extern int dbg_ir; 68extern int dbg_postorder; 69 70extern int dump_macro_defs; 71extern int dump_macros_only; 72 73extern unsigned long fdump_ir; 74extern int fhosted; 75extern unsigned int fmax_errors; 76extern unsigned int fmax_warnings; 77extern int fmem_report; 78extern unsigned long long fmemcpy_max_count; 79extern unsigned long fpasses; 80extern int fpic; 81extern int fpie; 82extern int fshort_wchar; 83extern int funsigned_bitfields; 84extern int funsigned_char; 85 86extern int Waddress; 87extern int Waddress_space; 88extern int Wbitwise; 89extern int Wbitwise_pointer; 90extern int Wcast_from_as; 91extern int Wcast_to_as; 92extern int Wcast_truncate; 93extern int Wconstant_suffix; 94extern int Wconstexpr_not_const; 95extern int Wcontext; 96extern int Wdecl; 97extern int Wdeclarationafterstatement; 98extern int Wdefault_bitfield_sign; 99extern int Wdesignated_init; 100extern int Wdo_while; 101extern int Wenum_mismatch; 102extern int Wexternal_function_has_definition; 103extern int Wflexible_array_array; 104extern int Wflexible_array_nested; 105extern int Wflexible_array_sizeof; 106extern int Wflexible_array_union; 107extern int Wimplicit_int; 108extern int Winit_cstring; 109extern int Wint_to_pointer_cast; 110extern int Wmemcpy_max_count; 111extern int Wnewline_eof; 112extern int Wnon_pointer_null; 113extern int Wold_initializer; 114extern int Wold_style_definition; 115extern int Wone_bit_signed_bitfield; 116extern int Woverride_init; 117extern int Woverride_init_all; 118extern int Woverride_init_whole_range; 119extern int Wparen_string; 120extern int Wpast_deep_designator; 121extern int Wpedantic; 122extern int Wpointer_arith; 123extern int Wpointer_to_int_cast; 124extern int Wptr_subtraction_blows; 125extern int Wreturn_void; 126extern int Wshadow; 127extern int Wshift_count_negative; 128extern int Wshift_count_overflow; 129extern int Wsizeof_bool; 130extern int Wsparse_error; 131extern int Wstrict_prototypes; 132extern int Wtautological_compare; 133extern int Wtransparent_union; 134extern int Wtypesign; 135extern int Wundef; 136extern int Wuninitialized; 137extern int Wunion_cast; 138extern int Wuniversal_initializer; 139extern int Wunknown_attribute; 140extern int Wvla; 141 142extern char **handle_switch(char *arg, char **next); 143extern void handle_switch_finalize(void); 144 145#endif 146