[net.bugs] Bug in SYSVR2 C compiler on 3B2

aeb@mcvax.UUCP (Andries Brouwer) (07/17/85)

If foo.c contains
	main(){
		char p,q;
		int d;

		if(p<0 || q<0 || d>=100)
			return;
	}
then cc -c foo.c produces the error message
	foo.c, line 5: compiler error: dlabel

I suspect that this is because characters are unsigned so that
the compiler replaces the code for the first part with a jump to
the second part, but then also decides to delete the second part
of the expression, so that now the jump has lost its destination.
(I have no source so cannot check anything.)