From: Arnd Bergmann <arnd@arndb.de>
To: Guan Xuetao <gxt@mprc.pku.edu.cn>
Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org
Subject: Re: Warning with asm-generic/div64.h
Date: Fri, 25 Mar 2011 14:39:53 +0100 [thread overview]
Message-ID: <201103251439.53568.arnd@arndb.de> (raw)
In-Reply-To: <007801cbead6$1984b6e0$4c8e24a0$@mprc.pku.edu.cn>
On Friday 25 March 2011, Guan Xuetao wrote:
> Following warning is generated when using <asm-generic/div64.h>
>
> kernel/power/hibernate.c: In function 'swsusp_show_speed':
> kernel/power/hibernate.c:227: warning: comparison of distinct pointer types lacks a cast
>
> After expanding the do_div() macro, the problem line is:
>
> (void)(((typeof((n)) *)0) == ((uint64_t *)0));
>
> while the type of n is s64.
>
> I am puzzled with the usage of the problem line.
>
> And how to correct it?
The purpose of this line is to generate a warning when the input is the
wrong type, as the comment says:
/* The unnecessary pointer compare is there
* to check for type safety (n must be 64bit)
The macro doesn't work for signed input or for 32 bit input. I'd suggest
fixing the caller to use an unsigned type.
Arnd
next prev parent reply other threads:[~2011-03-25 13:40 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-25 10:19 Warning with asm-generic/div64.h Guan Xuetao
2011-03-25 13:39 ` Arnd Bergmann [this message]
2011-03-29 11:41 ` Guan Xuetao
2011-03-29 11:58 ` Arnd Bergmann
2011-03-29 11:58 ` 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=201103251439.53568.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=gxt@mprc.pku.edu.cn \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@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