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