Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/5/84; site tolerant.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!allegra!oliveb!tolerant!dws
From: dws@tolerant.UUCP (Dave W. Smith)
Newsgroups: net.bugs.4bsd
Subject: pcc bug
Message-ID: <140@tolerant.UUCP>
Date: Fri, 23-Aug-85 19:37:02 EDT
Article-I.D.: tolerant.140
Posted: Fri Aug 23 19:37:02 1985
Date-Received: Mon, 26-Aug-85 01:35:03 EDT
Distribution: net
Organization: Tolerant Systems, Inc.  San Jose, CA
Lines: 23

Near the top of routine clocal (local.c), add:

	if ( p->tn.rval == NONAME )
	{
	    /* step over the landmine left for us by optim() when it
	       turned U*->ICON into NAME */
	    return (p);
	}

directly before p->tn.rval is used to index stab[]

This will protect against the compiler blowing itself to little pieces for
a few *very* obscure constructs involving numbers casted as structure
pointers.  E.g.

... ((struct foo *) 0x1234)->bar + ((struct foo *) 0x1234)->baz ...

You're not likely to run into this one unless you're hacking on kernel code
or putting stuff into ROMs.
-- 
  David W. Smith             {ucbvax}!tolerant!dws
  Tolerant Systems, Inc.
  408/946-5667