X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=warning.c;h=bb00d945030a4056177d356bb36f537b1d1790e5;hb=078d3b15dd160695cf0acfd7cd178c331834c968;hp=42b47b4675a84eeca6d87c25edad69d9a76c710d;hpb=92aef485912254eb5b4914101d4fc06f6b64ed64;p=cparser diff --git a/warning.c b/warning.c index 42b47b4..bb00d94 100644 --- a/warning.c +++ b/warning.c @@ -24,30 +24,39 @@ warning_t warning = { .attribute = true, .char_subscripts = true, - .format = true, - .nonnull = true, + .declaration_after_statement = false, + .deprecated_declarations = true, .empty_statement = false, .fatal_errors = false, .float_equal = false, + .format = true, .implicit_function_declaration = true, .implicit_int = true, + .long_long = false, .main = true, .missing_declarations = false, + .missing_noreturn = false, .missing_prototypes = false, .multichar = true, + .nested_externs = false, + .nonnull = true, + .pointer_arith = true, .redundant_decls = true, + .return_type = true, .s_are_errors = false, .shadow = false, .sign_compare = false, .strict_prototypes = true, .switch_default = false, + .switch_enum = false, .unknown_pragmas = true, + .unreachable_code = false, .unused_function = false, .unused_label = false, .unused_parameter = false, .unused_value = true, .unused_variable = false, - .return_type = true + .write_strings = false }; void set_warning_opt(const char *const opt) @@ -64,80 +73,91 @@ void set_warning_opt(const char *const opt) if (0) {} #define OPTX(x) else if (strcmp(s, x) == 0) -#define SET(y) warning.y = state; +#define SET(y) (void)(warning.y = state) #define OPT(x, y) OPTX(x) SET(y) OPTX("all") { /* Note: this switched on a lot of more warnings than gcc's -Wall */ - SET(attribute) - SET(char_subscripts) - SET(format) - SET(nonnull) - SET(empty_statement) - SET(implicit_function_declaration) - SET(implicit_int) - SET(main) - SET(redundant_decls) - SET(shadow) - SET(sign_compare) - SET(strict_prototypes) - SET(unknown_pragmas) - SET(unused_function) - SET(unused_label) - SET(unused_parameter) - SET(unused_value) - SET(unused_variable) - SET(return_type) + SET(attribute); + SET(char_subscripts); + SET(empty_statement); + SET(format); + SET(implicit_function_declaration); + SET(implicit_int); + SET(main); + SET(nonnull); + SET(pointer_arith); + SET(redundant_decls); + SET(return_type); + SET(shadow); + SET(sign_compare); + SET(strict_prototypes); + SET(switch_enum); + SET(unknown_pragmas); + SET(unreachable_code); + SET(unused_function); + SET(unused_label); + SET(unused_parameter); + SET(unused_value); + SET(unused_variable); } - OPT("attribute", attribute) - OPT("char-subscripts", char_subscripts) - OPT("empty-statement", empty_statement) - OPT("error", s_are_errors) + OPT("attribute", attribute); + OPT("char-subscripts", char_subscripts); + OPT("declaration-after-statement", declaration_after_statement); + OPT("deprecated-declarations", deprecated_declarations); + OPT("empty-statement", empty_statement); + OPT("error", s_are_errors); OPTX("extra") { /* TODO */ - // TODO SET(function_end_without_return) - SET(empty_statement) - // TODO SET(incomplete_aggregate_init) - // TODO SET(pointless_comparison) - // TODO SET(sign_compare) - SET(unused_parameter) - SET(unused_value) + // TODO SET(function_end_without_return); + SET(empty_statement); + // TODO SET(incomplete_aggregate_init); + // TODO SET(pointless_comparison); + SET(unused_parameter); + SET(unused_value); } - OPT("fatal-errors", fatal_errors) - OPT("float-equal", float_equal) + OPT("fatal-errors", fatal_errors); + OPT("float-equal", float_equal); OPTX("format") { - SET(format) - SET(nonnull) + SET(format); + SET(nonnull); } - OPT("nonnull", nonnull) OPTX("implicit") { - SET(implicit_function_declaration) - SET(implicit_int) + SET(implicit_function_declaration); + SET(implicit_int); } - OPT("implicit-function-declaration", implicit_function_declaration) - OPT("implicit-int", implicit_int) - OPT("main", main) - OPT("missing-declarations", missing_declarations) - OPT("missing-prototypes", missing_prototypes) - OPT("multichar", multichar) - OPT("redundant-decls", redundant_decls) - OPT("shadow", shadow) - OPT("sign-compare", sign_compare) - OPT("strict-prototypes", strict_prototypes) - OPT("switch-default", switch_default) - OPT("unknown-pragmas", unknown_pragmas) + OPT("implicit-function-declaration", implicit_function_declaration); + OPT("implicit-int", implicit_int); + OPT("long-long", long_long); + OPT("main", main); + OPT("missing-declarations", missing_declarations); + OPT("missing-noreturn", missing_noreturn); + OPT("missing-prototypes", missing_prototypes); + OPT("multichar", multichar); + OPT("nested-externs", nested_externs); + OPT("nonnull", nonnull); + OPT("pointer_arith", pointer_arith); + OPT("redundant-decls", redundant_decls); + OPT("return-type", return_type); + OPT("shadow", shadow); + OPT("sign-compare", sign_compare); + OPT("strict-prototypes", strict_prototypes); + OPT("switch-default", switch_default); + OPT("switch-enum", switch_enum); + OPT("unknown-pragmas", unknown_pragmas); + OPT("unreachable-code", unreachable_code); OPTX("unused") { - SET(unused_function) - SET(unused_label) - SET(unused_parameter) - SET(unused_value) - SET(unused_variable) + SET(unused_function); + SET(unused_label); + SET(unused_parameter); + SET(unused_value); + SET(unused_variable); } - OPT("unused-function", unused_function) - OPT("unused-label", unused_label) - OPT("unused-parameter", unused_parameter) - OPT("unused-value", unused_value) - OPT("unused-variable", unused_variable) - OPT("return-type", return_type) + OPT("unused-function", unused_function); + OPT("unused-label", unused_label); + OPT("unused-parameter", unused_parameter); + OPT("unused-value", unused_value); + OPT("unused-variable", unused_variable); + OPT("write-strings", write_strings); #undef OPT #undef SET #undef OPT_X