🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by Doug Gwyn Sat, 12 Sep 1987 02:11
another 5620 DMD 2.0 "optim" bug
#596
Author: Doug Gwyn
Date: Sat, 12 Sep 1987 02:11
22 lines
1363 bytes
BUG FIX for 5620 DMD 2.0 $DMD/sgs/usr/src/cmd/sgs/optim/m32/func.c
and $DMD/sgs/usr/src/cmd/sgs/optim/common/optim.h,
probably also applies to /lib/optim in other M32 SGS releases.

The problem was that for a CALL op (at least), ops[4] was getting
stomped on (under the alias opm) and not cleaned up later, but only
a NULL ops[.] would be safely ignored later, not one containing a
(char *)4 for example.  (I'm tempted to comment on code that resorts
to kludges like the one that caused this bug, but I won't :-)

/* @(#) func.c: 1.5 7/31/84				*/
...
#define opm 	ops[MAXOPS+1]		/* DAG -- was MAXOPS */
...

/*	static char  ID[] = "@(#) optim.h: 1.7 1/20/84";	*/
...
typedef struct node {
...
	/* DAG -- following was MAXOPS+1, but func.c needs more room: */
	char *ops[MAXOPS + 2];	/* opcode or label and operand field strings */
...
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads