rosenberg: handle bit fields better
[smatch.git] / options.h
blob0aec8764d27d69460d23ec157a0e948c791b8102
1 #ifndef OPTIONS_H
2 #define OPTIONS_H
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,
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,
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;
44 extern int cmdline_include_nr;
45 extern char *cmdline_include[];
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;
53 extern enum standard standard;
54 extern unsigned int tabstop;
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;
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;
70 extern int dump_macro_defs;
71 extern int dump_macros_only;
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;
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;
142 extern char **handle_switch(char *arg, char **next);
143 extern void handle_switch_finalize(void);
145 #endif