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>