Thread (29 messages) 29 messages, 9 authors, 2021-10-27

Re: [PATCH 06/12] openrisc: Use of_get_cpu_hwid()

flat view

From: Stafford Horne <shorne@gmail.com>
Date: 2021-10-06 22:38:39
Also in: linux-arm-kernel, linux-devicetree, linux-riscv, linux-sh, lkml

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:
quoted
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.
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help