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>

next in thread | previous in thread | raw e-mail | index | archive | help
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



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