From: Matthias Kaehlcke <mka@chromium.org>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: "David S . Miller" <davem@davemloft.net>,
linux-kernel@vger.kernel.org, linux-wireless@vger.kernel.org,
netdev@vger.kernel.org, Grant Grundler <grundler@chromium.org>,
Michael Davidson <md@google.com>,
Greg Hackmann <ghackmann@google.com>
Subject: Re: [PATCH] mac80211: Fix clang warning about constant operand in logical operation
Date: Thu, 6 Apr 2017 12:24:52 -0700 [thread overview]
Message-ID: <20170406192452.GE145051@google.com> (raw)
In-Reply-To: <1491505878.11399.4.camel@sipsolutions.net>
Hi Johannes,
thanks for your comments
El Thu, Apr 06, 2017 at 09:11:18PM +0200 Johannes Berg ha dit:
> On Thu, 2017-04-06 at 11:56 -0700, Matthias Kaehlcke wrote:
> > Clang raises a warning about the expression 'strlen(CONFIG_XXX)'
> > being
> > used in a logical operation. Clangs' builtin strlen function resolves
> > the
> > expression to a constant at compile time, which causes clang to
> > generate
> > a 'constant-logical-operand' warning.
> >
> > Split the if statement in two to avoid using the const expression in
> > a logical operation.
> >
> I don't really see all much point in doing this for the warning's
> sake... hopefully it doesn't actually generate worse code, but I think
> the code ends up looking worse and people will forever wonder what the
> goto is really doing there.
I agree that the code looks worse :( I hoped to find a fix using a
preprocessor condition but wasn't successful.
Some projects (like Chrome OS) build their kernel with all warnings
being treated as errors. Besides changing the 'offending' code the
alternatives are to disable the warning completely or to tell clang
not to use the builtin(s). IMO changing the code is the preferable
solution, especially since this is so far the only occurrence of the
warning that I have encountered.
I used goto instead of nested ifs since other functions in this file
use the same pattern. If nested ifs are preferred I can change that.
Cheers
Matthias
next prev parent reply other threads:[~2017-04-06 19:24 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-06 18:56 [PATCH] mac80211: Fix clang warning about constant operand in logical operation Matthias Kaehlcke
2017-04-06 19:11 ` Johannes Berg
2017-04-06 19:24 ` Matthias Kaehlcke [this message]
2017-04-06 21:12 ` Johannes Berg
2017-04-06 22:42 ` Matthias Kaehlcke
2017-04-06 22:51 ` Johannes Berg
2017-04-06 23:07 ` Matthias Kaehlcke
2017-04-10 14:12 ` David Laight
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=20170406192452.GE145051@google.com \
--to=mka@chromium.org \
--cc=davem@davemloft.net \
--cc=ghackmann@google.com \
--cc=grundler@chromium.org \
--cc=johannes@sipsolutions.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=md@google.com \
--cc=netdev@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).