X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=warning.c;h=c14f6227b68e8de6b25c37899118f0c621ad2b0e;hb=92596366efedc1b8fa85cf3a35ac3b0e3a5070a9;hp=ae1223feda74ed091bbd5d0f7f80cf12ae7ab800;hpb=4e6e0e20d15e96eaf0527aac168e393dea72eced;p=cparser diff --git a/warning.c b/warning.c index ae1223f..c14f622 100644 --- a/warning.c +++ b/warning.c @@ -22,19 +22,30 @@ #include "warning.h" warning_t warning = { + .aggregate_return = false, .attribute = true, + .cast_qual = false, .char_subscripts = true, + .comment = false, + .declaration_after_statement = false, + .deprecated_declarations = true, + .div_by_zero = true, .empty_statement = false, .fatal_errors = false, .float_equal = false, .format = true, .implicit_function_declaration = true, .implicit_int = true, + .init_self = 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, @@ -42,13 +53,15 @@ warning_t warning = { .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 + .unused_variable = false, + .write_strings = false }; void set_warning_opt(const char *const opt) @@ -71,17 +84,21 @@ void set_warning_opt(const char *const opt) /* Note: this switched on a lot of more warnings than gcc's -Wall */ SET(attribute); SET(char_subscripts); + SET(comment); SET(empty_statement); SET(format); SET(implicit_function_declaration); SET(implicit_int); + SET(init_self); 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); @@ -90,8 +107,14 @@ void set_warning_opt(const char *const opt) SET(unused_value); SET(unused_variable); } + OPT("aggregate-return", aggregate_return); OPT("attribute", attribute); + OPT("cast-qual", cast_qual); OPT("char-subscripts", char_subscripts); + OPT("comment", comment); + OPT("declaration-after-statement", declaration_after_statement); + OPT("deprecated-declarations", deprecated_declarations); + OPT("div_by_zero", div_by_zero); OPT("empty-statement", empty_statement); OPT("error", s_are_errors); OPTX("extra") { @@ -99,6 +122,7 @@ void set_warning_opt(const char *const opt) // TODO SET(function_end_without_return); SET(empty_statement); // TODO SET(incomplete_aggregate_init); + // TODO SET(missing_field_initializers); // TODO SET(pointless_comparison); SET(unused_parameter); SET(unused_value); @@ -115,17 +139,23 @@ void set_warning_opt(const char *const opt) } OPT("implicit-function-declaration", implicit_function_declaration); OPT("implicit-int", implicit_int); + OPT("init-self", init_self); + 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") { @@ -140,6 +170,7 @@ void set_warning_opt(const char *const opt) 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