[comp.sys.amiga] nasty bug in Draco compiler

cg@myrias.UUCP (Chris Gray) (03/03/88)

While compiling EmpMap (a tool to do Empire maps), I ran into a new bug
in the Draco compiler for the Amiga. I've tracked it down (it took a while,
since it was an indirect memory stomper) and fixed it, but I thought I'd
let any Draco users out there know about it (please send this to any BBS's
that you use, to catch users not on the net).

Basically, in trying to optimize comparisons to make use of the CMPI
instruction on the 68000, I didn't do the decision correctly. The net result
is that a construct of the form

	<constant> <comparison> <expression>

will cause random problems. For me it was either a symbol becoming undefined,
or an object file that caused BLink to guru. The quick fix is for you to
avoid a comparison in which the left-hand-side is a constant. I don't
normally do that, which is why it took a year or more and tens of thousands
of lines of code before I encountered it.

-- 
Chris Gray		Myrias Research, Edmonton	+1 403 428 1616
	{uunet!mnetor,ubc-vision,watmath,vax135}!alberta!myrias!cg