[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YV4lM/YJ4V4EAlZb@antec>
Date: Thu, 7 Oct 2021 07:37:39 +0900
From: Stafford Horne <shorne@...il.com>
To: Segher Boessenkool <segher@...nel.crashing.org>
Cc: Rob Herring <robh@...nel.org>, Rich Felker <dalias@...c.org>,
"Rafael J. Wysocki" <rafael@...nel.org>,
linux-kernel@...r.kernel.org, Guo Ren <guoren@...nel.org>,
"H. Peter Anvin" <hpa@...or.com>, linux-riscv@...ts.infradead.org,
Will Deacon <will@...nel.org>, Jonas Bonn <jonas@...thpole.se>,
Florian Fainelli <f.fainelli@...il.com>,
Yoshinori Sato <ysato@...rs.osdn.me>, linux-sh@...r.kernel.org,
x86@...nel.org, Russell King <linux@...linux.org.uk>,
linux-csky@...r.kernel.org, Ingo Molnar <mingo@...hat.com>,
bcm-kernel-feedback-list@...adcom.com,
Catalin Marinas <catalin.marinas@....com>,
Palmer Dabbelt <palmer@...belt.com>,
devicetree@...r.kernel.org, Albert Ou <aou@...s.berkeley.edu>,
Ray Jui <rjui@...adcom.com>,
Stefan Kristiansson <stefan.kristiansson@...nalahti.fi>,
openrisc@...ts.librecores.org, Borislav Petkov <bp@...en8.de>,
Paul Walmsley <paul.walmsley@...ive.com>,
Thomas Gleixner <tglx@...utronix.de>,
linux-arm-kernel@...ts.infradead.org,
Scott Branden <sbranden@...adcom.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Frank Rowand <frowand.list@...il.com>,
James Morse <james.morse@....com>,
Paul Mackerras <paulus@...ba.org>,
linuxppc-dev@...ts.ozlabs.org
Subject: Re: [PATCH 06/12] openrisc: Use of_get_cpu_hwid()
Hi Segher,
On Wed, Oct 06, 2021 at 04:27:28PM -0500, Segher Boessenkool wrote:
> On Thu, Oct 07, 2021 at 05:44:00AM +0900, Stafford Horne wrote:
> > You have defined of_get_cpu_hwid to return u64, will this create compiler
> > warnings when since we are storing a u64 into a u32?
> >
> > It seems only if we make with W=3.
>
> Yes. This is done by -Wconversion, "Warn for implicit conversions that
> may alter a value."
Yeah, that is what I found out when I looked into it.
> > I thought we usually warned on this.
>
> This warning is not in -Wall or -Wextra either, it suffers too much from
> false positives. It is very natural to just ignore the high bits of
> modulo types (which is what "unsigned" types *are*). Or the bits that
> "fall off" on a conversion. The C standard makes this required
> behaviour, it is useful, and it is the only convenient way of getting
> this!
Thanks for the background, It does make sense. I guess I was confused with java
which requires casting when you store to a smaller size. I.e.
Test.java:5: error: incompatible types: possible lossy conversion from int to short
s = i;
-Stafford
Powered by blists - more mailing lists