panos@tigger.colorado.edu (Panos Tsirigotis) (07/25/89)
A colleague discovered the following bug with the C compiler. The following program fails to compile: main() { void *foo ; } The compiler reports: (ccom): foo.c, line 5: ccom: Internal: schain botch The compiler does accept void * definitions outside of functions. This is a MIPS M1000 running UMIPS-BSD (4.3 BSD) Panos Tsirigotis ---------------------------------------------------- | Email address: panos@boulder.colorado.edu | ----------------------------------------------------
guy@auspex.auspex.com (Guy Harris) (07/26/89)
>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.)
rogerk@mips.COM (Roger B.A. Klorese) (07/29/89)
In article <10249@boulder.Colorado.EDU> panos@tigger.colorado.edu (Panos Tsirigotis) writes: >The compiler does accept void * definitions outside of functions. This will be fixed in release 2.10 compilers, which will be out close to the end of this year. -- ROGER B.A. KLORESE MIPS Computer Systems, Inc. phone: +1 408 720-2939 928 E. Arques Ave. Sunnyvale, CA 94086 rogerk@mips.COM {ames,decwrl,pyramid}!mips!rogerk "I want to live where it's always Saturday." -- Guadalcanal Diary