From: Mason <slash.tmp@free.fr>
To: Arnd Bergmann <arnd@arndb.de>, Ben Dooks <ben.dooks@codethink.co.uk>
Cc: linux-arm-kernel@lists.infradead.org,
Viresh Kumar <viresh.kumar@linaro.org>,
linux-kernel@lists.codethink.co.uk,
Linux PM <linux-pm@vger.kernel.org>
Subject: Re: [PATCH] cpufreq: mvebu: fix integer to pointer cast
Date: Thu, 9 Jun 2016 09:53:14 +0200 [thread overview]
Message-ID: <5759206A.3020105@free.fr> (raw)
In-Reply-To: <32804824.nq0AOIbNnC@wuerfel>
On 09/06/2016 09:07, Arnd Bergmann wrote:
> On Wednesday, June 8, 2016 9:59:26 AM CEST Ben Dooks wrote:
>> On 08/06/16 08:56, Mason wrote:
>>> On 07/06/2016 13:30, Ben Dooks wrote:
>>>
>>>> Fix the use of 0 instead of NULL to clk_get() call. This stops the
>>>> following warning:
>>>>
>>>> drivers/cpufreq/mvebu-cpufreq.c:73:40: warning: Using plain integer as NULL pointer
>>>
>>> May I ask which compiler/version produced that diagnostic?
>>
>> I was running with "make C=2 bzImage" for ARM multi_v7_config
>>
>> $ sparse --version
>> v0.5.0
Ben, in my nitpicker's opinion, your patch subject is not
quite correct. There is, obviously, no cast in the statement
clk = clk_get(cpu_dev, 0);
There is, however, an implicit conversion (as if by assignment)
which converts the second argument (a null pointer constant) to
an actual null pointer.
I can't find a better wording than
"Use NULL instead of unadorned 0 for null pointer constants"
or
"Use NULL explicitly for pointer arguments"
As a funky side note, any constant expression with the value 0
is a valid null pointer constant. Thus the expression 42/666
is a valid equivalent to NULL ;-) Another one of C's historic warts.
> I believe gcc-6 will also produce a similar warning when building with
> 'make W=1'.
Probably not.
https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
-Wzero-as-null-pointer-constant (C++ and Objective-C++ only)
Warn when a literal '0' is used as null pointer constant.
This can be useful to facilitate the conversion to nullptr in C++11.
$ cat test.c
extern void foo(void *p);
void bar(void) {
foo(0);
}
$ gcc-6 -Wall -Wextra -c test.c
/* NO WARNING */
$ gcc-6 -Wall -Wextra -Wzero-as-null-pointer-constant -c test.c
cc1: warning: command line option '-Wzero-as-null-pointer-constant' is valid for C++/ObjC++ but not for C
Regards.
next prev parent reply other threads:[~2016-06-09 7:53 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-07 11:30 [PATCH] cpufreq: mvebu: fix integer to pointer cast Ben Dooks
2016-06-07 13:40 ` Viresh Kumar
2016-06-14 23:27 ` Rafael J. Wysocki
2016-06-08 7:56 ` Mason
2016-06-08 8:59 ` Ben Dooks
2016-06-09 7:07 ` Arnd Bergmann
2016-06-09 7:53 ` Mason [this message]
2016-06-09 8:11 ` Ben Dooks
2016-06-09 13:53 ` Arnd Bergmann
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=5759206A.3020105@free.fr \
--to=slash.tmp@free.fr \
--cc=arnd@arndb.de \
--cc=ben.dooks@codethink.co.uk \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@lists.codethink.co.uk \
--cc=linux-pm@vger.kernel.org \
--cc=viresh.kumar@linaro.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