Bug in SYSVR2 C compiler on 3B2

Andries Brouwer aeb at mcvax.UUCP
Thu Jul 18 02:06:23 AEST 1985


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.)



More information about the Comp.lang.c mailing list