Re: gcc warning in my trace_benchmark() code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 05 Jun 2014 11:44:45 -0700
David Daney <ddaney.cavm@xxxxxxxxx> wrote:

> > But stddev is s64. Ah, but the compare is:
> >
> > (void)(((typeof((n)) *)0) == ((uint64_t *)0));
> >
> > so it's complaining about a signed verses unsigned compare, not length.
> > I think I can ignore this warning then.
> 
> The pedant in me thinks that you should fix your code if using do_div() 
> on a signed object is undefined.  But if you aren't planning on merging 
> the code, then it probably doesn't matter.

It's undefined on signed 64 numbers? Where is that documented. I don't
see it in the comments, and I don't see anything in the Documentation
directory. It only states that n must be 64bit. It doesn't say unsigned
64 bit.

And yes I do plan on merging this. It's in my 3.16 queue right now and
in linux-next. But it's just a benchmark tracepoint that requires a
config option to enable it. It will show up in your allmodconfig builds
but nothing important.

Worse comes to worse, I can add a (u64) to the call to do_div() I guess.

> 
> >
> > Thoughts?
> 
> I think I will have lunch now...
> 

I just came back from lunch. It was quite delicious!

-- Steve



[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux