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