Re: [cc65] Overflows in signed comparisions

Date view Thread view Subject view

From: Groepaz (groepaz_at_gmx.net)
Date: 2003-10-10 05:50:37


On Thursday 09 October 2003 20:27, Groepaz wrote:
> On Thursday 09 October 2003 19:28, Ullrich von Bassewitz wrote:
> > On Thu, Oct 09, 2003 at 02:43:10AM +0200, Groepaz wrote:
> > > nice impact this "fix" has :=) the originally reported bug is indeed
> > > fixed now, but in turn all the other signed-comparison tests dont
> > > report "failed" - they *crash* :=P stack problem somewhere? :)
> >
> > Sorry, but I cannot reproduce that here. Can you send me a piece of code
> > that crashes the compiler on your machine?
>
> ok, i'll try to isolate the piece of code that fails tonite...

so here it is ... :=) this code loops forever and displays a sprite here 
(magic :)) :=P

gpz

ps: i think all those crashes are related to critical boundary conditions
like in this snippet...maybe also also a problem with interpreting things
like "-0x7f" correctly (its used all over the place in these tests), 
although changing it into "-127" doesnt fix it here.

---

signed char char0 = 0;

void c_char_lt_lit1(unsigned char expected_result)
{

  if(char0 < -0x7f) /* this comparison appearently contains the bug */
  {
    /* something :) */
  }

}

void main(void)
{
  for(char0=-0x7f; char0 != -1; ++char0)
  {
    c_char_lt_lit1(0x1e);
  }
}

----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo_at_musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.


Date view Thread view Subject view

This archive was generated by hypermail 2.1.3 : 2003-10-10 05:56:21 CEST