[gnu.gcc.bug] simple unsigned expr comparison bug in 1.35

brad@cayman.com (Brad Parker) (11/12/89)

Using gcc 1.35 (sorry, I'm still not up to 1.36) on a Sun 3/280, SunOS 4.0.3

(gcc -S -O t.c)

The following C code:

--- cut here ---

typedef unsigned char byte;

byte	times;

func()
{
	if (times-- <= 1)
	{
		times = 1;
	}
}

---

Produces the following asm which is incorrect:

--- cut here ---

#NO_APP
gcc_compiled.:
.text
	.even
.globl _func
_func:
	link a6,#0
	subqb #1,_times
	jne L2			<--- ??
	moveb #1,_times
L2:
	unlk a6
	rts
.comm _times,2

---

-brad