All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joe Perches <joe@perches.com>
To: "H. Peter Anvin" <hpa@zytor.com>, linux-sparse@vger.kernel.org
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: [PATCH] sparse: Allow override of sizeof(bool) warning
Date: Wed, 26 Feb 2014 18:03:39 -0800	[thread overview]
Message-ID: <1393466619.24588.65.camel@joe-AO722> (raw)
In-Reply-To: <530E8C2E.7080307@zytor.com>

Allow an override to emit or not the sizeof(bool) warning

Signed-off-by: Joe Perches <joe@perches.com>
---
 evaluate.c | 3 ++-
 lib.c      | 2 ++
 lib.h      | 1 +
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/evaluate.c b/evaluate.c
index 6655615..a45f59b 100644
--- a/evaluate.c
+++ b/evaluate.c
@@ -2057,7 +2057,8 @@ static struct symbol *evaluate_sizeof(struct expression *expr)
 	}
 
 	if (size == 1 && is_bool_type(type)) {
-		warning(expr->pos, "expression using sizeof bool");
+		if (Wsizeof_bool)
+			warning(expr->pos, "expression using sizeof bool");
 		size = bits_in_char;
 	}
 
diff --git a/lib.c b/lib.c
index bf3e91c..676b72e 100644
--- a/lib.c
+++ b/lib.c
@@ -225,6 +225,7 @@ int Wone_bit_signed_bitfield = 1;
 int Wparen_string = 0;
 int Wptr_subtraction_blows = 0;
 int Wreturn_void = 0;
+int Wsizeof_bool = 1;
 int Wshadow = 0;
 int Wtransparent_union = 0;
 int Wtypesign = 0;
@@ -437,6 +438,7 @@ static const struct warning {
 	{ "paren-string", &Wparen_string },
 	{ "ptr-subtraction-blows", &Wptr_subtraction_blows },
 	{ "return-void", &Wreturn_void },
+	{ "sizeof-bool", &Wsizeof_bool },
 	{ "shadow", &Wshadow },
 	{ "transparent-union", &Wtransparent_union },
 	{ "typesign", &Wtypesign },
diff --git a/lib.h b/lib.h
index f09b338..7e3432f 100644
--- a/lib.h
+++ b/lib.h
@@ -119,6 +119,7 @@ extern int Wone_bit_signed_bitfield;
 extern int Wparen_string;
 extern int Wptr_subtraction_blows;
 extern int Wreturn_void;
+extern int Wsizeof_bool;
 extern int Wshadow;
 extern int Wtransparent_union;
 extern int Wtypesign;
-- 
1.8.1.2.459.gbcd45b4.dirty




  parent reply	other threads:[~2014-02-27  2:03 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-26 22:49 The sheer number of sparse warnings in the kernel H. Peter Anvin
2014-02-26 23:25 ` Borislav Petkov
2014-02-27  8:27   ` Richard Weinberger
2014-02-26 23:28 ` Greg KH
2014-02-26 23:29   ` Greg KH
2014-02-26 23:31     ` H. Peter Anvin
2014-02-26 23:37       ` H. Peter Anvin
2014-02-27  1:19         ` Josh Boyer
2014-02-27  1:21           ` H. Peter Anvin
2014-03-04 23:13       ` Valdis.Kletnieks
2014-02-27  0:11   ` H. Peter Anvin
2014-02-27  1:34     ` Greg KH
2014-02-27  2:09       ` Joe Perches
2014-02-27  3:15       ` Dave Jones
2014-02-27  4:32         ` Greg KH
2014-02-27 10:11       ` Guenter Roeck
2014-02-27  1:52     ` Peter Hurley
2014-02-27  4:19       ` H. Peter Anvin
2014-02-27  4:31         ` Greg KH
2014-02-27  9:22       ` Geert Uytterhoeven
2014-02-27  0:48 ` Joe Perches
2014-02-27  0:51   ` H. Peter Anvin
2014-02-27  1:06     ` Joe Perches
2014-02-27  1:33     ` [PATCH] err.h: Use bool for IS_ERR and IS_ERR_OR_NULL Joe Perches
2014-02-27  2:03     ` Joe Perches [this message]
2014-02-27  2:08       ` [RFC PATCH] Makefile: sparse - don't check sizeof(bool) Joe Perches
2014-02-27  2:28       ` [PATCH] sparse: Allow override of sizeof(bool) warning Josh Triplett
2014-02-27  2:53         ` [PATCH V2] " Joe Perches
2014-02-27  2:58           ` Josh Triplett
2014-02-27  3:19             ` [PATCH V3] " Joe Perches
2014-02-27  3:29             ` [PATCH V2] " H. Peter Anvin
2014-02-27  3:38               ` Joe Perches
2014-02-27  3:42                 ` H. Peter Anvin
2014-02-27  8:25                   ` Borislav Petkov
2014-02-27 15:10                     ` H. Peter Anvin
2014-02-27 15:24                       ` Theodore Ts'o
2014-02-27 15:48                         ` H. Peter Anvin
2014-02-27 16:01                           ` Borislav Petkov
2014-02-27 16:10                           ` Dan Carpenter
2014-02-27 16:52                             ` H. Peter Anvin
2014-02-27 17:06                               ` James Hogan
2014-02-27 17:06                                 ` James Hogan
2014-02-27  4:00                 ` Ben Pfaff
2014-02-27  4:19                   ` H. Peter Anvin
2014-02-27  4:26                     ` Ben Pfaff
2014-02-27  4:32                       ` H. Peter Anvin
2014-02-27 20:22                         ` Christopher Li
2014-02-27 20:26                           ` H. Peter Anvin
2014-02-27 20:39                             ` Joe Perches
2014-02-27 20:55                               ` Christopher Li
2014-02-27 21:49                                 ` Joe Perches
2014-02-27 20:44                             ` Christopher Li
2014-02-27 21:00                               ` Joe Perches
2014-02-27 21:03                                 ` Christopher Li
2014-02-27 21:41                                 ` Christopher Li
2014-02-27  9:56 ` The sheer number of sparse warnings in the kernel Dr. David Alan Gilbert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1393466619.24588.65.camel@joe-AO722 \
    --to=joe@perches.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sparse@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.