6 .char_subscripts = true,
8 .empty_statement = false,
11 .implicit_function_declaration = true,
14 .missing_declarations = false,
15 .missing_prototypes = false,
16 .redundant_decls = true,
17 .s_are_errors = false,
18 .strict_prototypes = true,
19 .switch_default = false,
20 .unknown_pragmas = true,
21 .unused_function = false,
22 .unused_label = false,
23 .unused_parameter = false,
24 .unused_variable = false,
29 * Switch on options for -Wall.
31 static void set_all_options(void) {
32 warning.char_subscripts = true;
33 warning.check_format = true;
34 warning.empty_statement = true;
35 /* warning.fatal_errors */
36 /* warning.float_equal */
37 warning.implicit_function_declaration = true;
38 warning.implicit_int = true;
40 /* warning.missing_declarations */
41 /* warning.missing_prototypes */
42 warning.redundant_decls = true;
43 /* warning.s_are_errors */
44 warning.strict_prototypes = true;
45 warning.switch_default = true;
46 warning.unknown_pragmas = true;
47 warning.unused_function = true;
48 warning.unused_label = true;
49 warning.unused_parameter = true;
50 warning.unused_variable = true;
51 warning.unused_value = true;
55 * Switch on options for -Wunused.
57 static void set_unused_options(void) {
58 warning.unused_function = true;
59 warning.unused_label = true;
60 warning.unused_parameter = true;
61 warning.unused_variable = true;
62 warning.unused_value = true;
66 * Switch on options for -Wextra.
68 static void set_extra_options(void) {
71 void set_warning_opt(const char *const opt)
76 if (strcmp(s, "all") == 0) {
79 } else if (strcmp(s, "extra") == 0) {
82 } else if (strcmp(s, "unused") == 0) {
88 if (s[0] == 'n' && s[1] == 'o' && s[2] == '-') {
94 #define OPTX(x) else if (strcmp(s, x) == 0)
95 #define SET(y) warning.y = state;
96 #define OPT(x, y) OPTX(x) SET(y)
97 OPT("char-subscripts", char_subscripts)
98 OPT("empty-statement", empty_statement)
99 OPT("error", s_are_errors)
100 OPT("fatal-errors", fatal_errors)
101 OPT("float-equal", float_equal)
102 OPT("format", check_format)
104 SET(implicit_function_declaration)
107 OPT("implicit-function-declaration", implicit_function_declaration)
108 OPT("implicit-int", implicit_int)
110 OPT("missing-declarations", missing_declarations)
111 OPT("missing-prototypes", missing_prototypes)
112 OPT("redundant-decls", redundant_decls)
113 OPT("strict-prototypes", strict_prototypes)
114 OPT("switch-default", switch_default)
115 OPT("unknown-pragmas", unknown_pragmas)
116 OPT("unused-function", unused_function)
117 OPT("unused-label", unused_label)
118 OPT("unused-parameter", unused_parameter)
119 OPT("unused-variable", unused_variable)
124 SET(unused_parameter)
129 OPT("unused-value", unused_value)
134 fprintf(stderr, "warning: ignoring unknown option -W%s\n", opt);