Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Aug 2010 22:00:08 +1000 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        Stefan Farfeleder <stefanf@FreeBSD.org>
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, "Jayachandran C." <c.jayachandran@gmail.com>, Neel Natu <neelnatu@gmail.com>
Subject:   Re: svn commit: r211130 - head/libexec/rtld-elf/mips
Message-ID:  <20100810215430.U10154@delplex.bde.org>
In-Reply-To: <20100810074210.GC1737@mole.fafoe.narf.at>
References:  <201008100515.o7A5FZZF017552@svn.freebsd.org> <20100810062829.GA1737@mole.fafoe.narf.at> <AANLkTimwoLfMXrNb7NmG%2BHWonug1-asmNdAE9AcSNHkK@mail.gmail.com> <AANLkTinkTQ25Dv6giE2HnWFrq7fuPReYFmwVb5oEy92s@mail.gmail.com> <20100810074210.GC1737@mole.fafoe.narf.at>

index | next in thread | previous in thread | raw e-mail

On Tue, 10 Aug 2010, Stefan Farfeleder wrote:

> On Tue, Aug 10, 2010 at 12:55:38PM +0530, Jayachandran C. wrote:
>>
>> I think there is a problem in  sys/mips/include/_endian.h
>> --
>> #define __bswap16(x)    (__uint16_t)(__is_constant(x) ?         \
>>         __bswap16_const((__uint16_t)x) :  __bswap16_var((__uint16_t)x))
>> #define __bswap32(x)    (__uint32_t)(__is_constant(x) ?         \
>>         __bswap32_const((__uint32_t)x) :  __bswap32_var((__uint32_t)x))
>> #define __bswap64(x)    (__uint64_t)(__is_constant(x) ?         \
>>         __bswap64_const((__uint64_t)x) :  __bswap64_var((__uint64_t)x))
>> --
>>
>> I'm not sure why the cast is needed, but we should have a braces
>> around x, unless I'm completely mistaken.

And not around x in callers.

> I agree. And around the entire expression too.

I agree.  But I've never seen a case where foo(x) needs to be (foo(x))
(where foo is not a macro).  '()' has highest precedence for expressions
(not sure about for parameter lists) together with `[]' `->' and '.', and
it is hard to think of an expression with any of the latter close enough
to foo(x) to cause problems.

Bruce


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100810215430.U10154>