Re: code question

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

 



On Wed, Sep 26, 2012 at 6:18 PM, JD <jd1008@xxxxxxxxx> wrote:
> I came across this patch which could be cause of a bug.
>
> What are possible side effects of this
> code segment if compiled under various
> non-gnu C compilers, and GCC compilers?
>
>>+inline uint32_t NS_MIN(uint32_t a, uint64_t b)
>>+{
>>+  return b < a ? b : a;
>>+}
> Nit: Please cast the 64-bit variable to 32-bit in case compilers start
> warning about it.
>
>>+      *pProgress = NS_MIN<PRUint64>(totalBytes - bytesLeft,
>> PR_UINT32_MAX);

It's very hard to determine the behaviour of an incomplete program.
It's even harder when you show us two incompatible code fragments.
You are defining a non-template function NS_MIN and calling a template
function NS_MIN.  I would expect a compiler error.  I don't know what
you are seeing.

The basic groundrules for this kind of question are: tell us precisely
what you did, tell us precisely what happened, and tell us what you
expected to happen instead.

Ian


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux