Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!cs.utexas.edu!uunet!auspex!guy From: guy@auspex.auspex.com (Guy Harris) Newsgroups: comp.sys.mips Subject: Re: Bug in the C compiler of UMIPS-BSD Message-ID: <2290@auspex.auspex.com> Date: 26 Jul 89 00:28:18 GMT References: <10249@boulder.Colorado.EDU> Reply-To: guy@auspex.auspex.com (Guy Harris) Organization: Auspex Systems, Santa Clara Lines: 21 >The compiler reports: >(ccom): foo.c, line 5: ccom: Internal: schain botch > >The compiler does accept void * definitions outside of functions. Interesting. This seems to confirm my memory that I'd been told, by somebody who I'd expect to know the answer, that the front end of the MIPS C compiler was PCC-derived.... From a quick look at the 4.xBSD version, and from some experience with the pre-SunOS 4.0 PCC-derived compiler, this *might* be due to the fact that PCC didn't syntactically disallow "void *" (in versions with "void"), and didn't check for it either, but had an internal code for that type which was the same as some special type value. The result is that it got confused at times.... The fix might be to use some value other than the one for "void *" for said internal code. (This may or may not be correct; it's largely supplied as a hint as to where to look.)