X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=warning.c;h=c93ed209f8f55d8f8e421fe54278292dfaab97bf;hb=9f84f8eb0cb393885efd87a52d539413f7dae2ee;hp=58d67301b6ec320cf23ad1331f46e9251b3df4cf;hpb=faf611d42369aee8fd20b3163870acf7d94e72fc;p=cparser diff --git a/warning.c b/warning.c index 58d6730..c93ed20 100644 --- a/warning.c +++ b/warning.c @@ -1,10 +1,31 @@ +/* + * This file is part of cparser. + * Copyright (C) 2007-2008 Matthias Braun + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + */ #include #include #include "warning.h" warning_t warning = { + .attribute = true, .char_subscripts = true, - .check_format = true, + .format = true, + .nonnull = true, .empty_statement = false, .fatal_errors = false, .float_equal = false, @@ -13,8 +34,11 @@ warning_t warning = { .main = true, .missing_declarations = false, .missing_prototypes = false, + .multichar = true, .redundant_decls = true, .s_are_errors = false, + .shadow = false, + .sign_compare = false, .strict_prototypes = true, .switch_default = false, .unknown_pragmas = true, @@ -42,15 +66,19 @@ void set_warning_opt(const char *const opt) #define SET(y) 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(check_format) + 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(switch_default) SET(unknown_pragmas) SET(unused_function) SET(unused_label) @@ -58,6 +86,7 @@ void set_warning_opt(const char *const opt) SET(unused_value) SET(unused_variable) } + OPT("attribute", attribute) OPT("char-subscripts", char_subscripts) OPT("empty-statement", empty_statement) OPT("error", s_are_errors) @@ -73,7 +102,11 @@ void set_warning_opt(const char *const opt) } OPT("fatal-errors", fatal_errors) OPT("float-equal", float_equal) - OPT("format", check_format) + OPTX("format") { + SET(format) + SET(nonnull) + } + OPT("nonnull", nonnull) OPTX("implicit") { SET(implicit_function_declaration) SET(implicit_int) @@ -83,7 +116,10 @@ void set_warning_opt(const char *const opt) 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)