[gnu.g++.bug] libg++ version 1.25.0

local@APPLE.COM (Local Development) (01/09/89)

I installed g++ on an Altos 1000 - i386 System VR3 Unix, after modifying
collect to work for COFF executables.

I haven't yet gotten to test the beast, though. I went to compile the
libg++ distribution, and this is what happened:

make installincl worked fine (although, once again, there are a large number
of files with greater than 14 character filenames... Grrr...) and made
and installed g++-include and g++-proto.

make test0 did the following:

	g++ -c -O -fchar-charconst  test.hello.cc -o test.hello.o
/usr/local/lib/g++-include/std.h:39: parse error before `char'
/usr/local/lib/g++-include/std.h:40: parse error before `char'
/usr/local/lib/g++-include/std.h:43: parse error before `char'
	[ ... Pages of parse errors on std.h deleted ... ]
/usr/local/lib/g++-include/stdio.h:60: parse error before `_iobuf'
/usr/local/lib/g++-include/stdio.h:71: parse error before `}'
/usr/local/lib/g++-include/stdio.h:71: warning: data definition lacks type or storage class
/usr/local/lib/g++-include/stdio.h:107: parse error before `char'
/usr/local/lib/g++-include/stdio.h:108: undeclared variable `struct' (first use here)
	[ ... More parse errors ... ]
/usr/local/lib/g++-include/stdio.h:146: warning: type specifier omitted for parameter
/usr/local/lib/g++-include/stdio.h:146: parse error before `char'
test0.h:12: parse error before `_iobuf'
test0.h:41: parse error before `_iobuf'
/usr/include/nlist.h:17: parse error before `nlist'
/usr/include/nlist.h:25: parse error before `}'
/usr/include/filehdr.h:13: parse error before `filehdr'
/usr/include/filehdr.h:21: parse error before `}'
	[ ... Parse errors in system headers ... ]
/usr/include/linenum.h:28: parse error before `}'
/usr/include/linenum.h:28: warning: data definition lacks type or storage class
/usr/include/linenum.h:30: parse error before `}'
/usr/include/syms.h:21: parse error before `syment'
	[ ... Final pages of parse errors ... ]
/usr/include/sys/file.h:72: parse error before `file_mplock'
/usr/include/sys/file.h:72: warning: data definition lacks type or storage class
test.hello.cc:17: variable-size type declared outside of any function
test.hello.cc:20: parse error before `header'
In function struct tfile *tfile::tfile (char *):
test.hello.cc:32: Segmentation violation
g++: Program c++ got fatal signal 11.
*** Error code 1

So, after all the labor of reading and processing all these headers, and
giving faithful reports of parse errors (why? I don't know), g++ gets a
segmentation violation and dumps core.

When I query sdb about the failure, here's what I get:

% sdb c++ ../libg++/core
1004:   register enum tree_code code = TREE_CODE (type);
*t
convert()   [c+convert.c:1004]
default_conversion()   [cplus-typeck.c:873]
actualparameterlist()   [cplus-typeck.c:1684]
build_function_call()   [cplus-typeck.c:1549]
build_x_function_call()   [cplus-typeck.c:1495]
yyparse()   [c+parse.tab.c:169]
compile_file()   [toplev.c:1051]
main(argc=9,argv=0x7ffffe0c,envp=0x7ffffe34)   [toplev.c:1829]
*

My questions: What are these parse errors about??? Has anyone else
encountered these problems? Do you have any suggestions??

Could this be a bad bison at work?? (Sounds strange!)

Any help would be greatly appreciated.

			---Kayvan