On Fri, May 16, 2008 at 03:20:34PM -0500, Patrick R. Michaud wrote:
> On Fri, May 16, 2008 at 09:12:19PM +0100, Alberto Simões wrote:
> > Hi, Folks.
> > 
> > There are a few files on the parrot source where the compiler complains 
> > about a logic value that is always true.
> > 
> > Let us check a specific case:
> > 
> > on src/jit_emit.h:231,
> > 
> >    if (!base && !(i && scale) && (!emit_is8bit(disp) || 1)) {
> > 
> > This is exactly
> > 
> >    if (!base && !(i && scale)) {
> 
> It's not *exactly* that.  The first version executes 
> emit_is8bit(disp), while the second one doesn't.
> 
> You're correct that the return value of emit_is8bit(disp)
> doesn't appear to matter to the C<if> statement itself.

So shouldn't it be re-written as

    if (!base && !(i && scale)) {
        emit_is8bit(disp);

?

Nicholas Clark

Reply via email to