lkml.org 
[lkml]   [2021]   [Oct]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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

    \
     
     \ /
      Last update: 2021-10-07 00:39    [W:4.029 / U:0.668 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site