[gnu.g++.bug] Really weird bug building g++ 1.36.3, on Sun4

kthompso@PTOLEMY.ARC.NASA.GOV (Kevin Thompson) (01/24/90)

[I have gcc 1.36, no idea if it's 1.36.92 (doubt it, but don't want to remake
 gcc unless I have to; I got my version from prep in november]

[GNU ld & gas installed in /usr/local/lib/gcc-, as recommended].

[Sun 4/60, e.g. Sparc I., Sun OS 4.0.3]

Disclaimer: I'm trying to build g++ purely to build InterViews, I don't even
know c, much less c++.  But I usually find these things pretty easy to build
anyway :) (I built the gcc we have).

I ftp'ed g++ 1.36.3 this morning from prep.

First, what is supposed to be in ../gcc-test??  I've built gcc several
times, never heard of this directory, never built it.  I did this:

make maketest TDIR=../gcc

no big problem (a few 'no such file or directory errors from rm'), installed
GNU ld and gas properly, did 'config.g++ sun4-os4'.

Now, unless I'm missing something about gcc-test, my impression is that I
can now merrily type 'make', not do anything fancy with crt0.c or anything.
When I type 'make', however, I get:

------------------------------
gcc -Um68k -g -c -I. -I. -I./config crt1.c
mv crt1.o crt1+.o
gcc -g -DGATHER_STATISTICS -O  -DESKIT -I. -I. -I./config \
  -DSTANDARD_STARTFILE_PREFIX=\"/usr/local/lib/\" \
  -DSTANDARD_EXEC_PREFIX=\"/usr/local/lib/gcc-\" -c \
  `echo ./gcc.c | sed 's,^\./,,'`
gcc -c -g -DGATHER_STATISTICS -O  -DESKIT  -I. -I. -I./config version.c
gcc -c -g -DGATHER_STATISTICS -O  -DESKIT  -I. -I. -I./config obstack.c
gcc -c -g -DGATHER_STATISTICS -O  -DESKIT  -I. -I. -I./config malloc.c
gcc -g -DGATHER_STATISTICS -O  -DESKIT  -o g++ gcc.o version.o obstack.o  malloc
.o
gcc -c -g -DGATHER_STATISTICS -O  -DESKIT -I. -I. -I./config -DPARSE_OUTPUT=\"/c
plus-tab.out\" cplus-tab.c
gcc -c -g -DGATHER_STATISTICS -O  -DESKIT  -I. -I. -I./config cplus-decl.c
gcc -c -g -DGATHER_STATISTICS -O  -DESKIT  -I. -I. -I./config cplus-decl2.c
gcc -c -g -DGATHER_STATISTICS -O  -DESKIT  -I. -I. -I./config cplus-typeck.c
gcc -c -g -DGATHER_STATISTICS -O  -DESKIT  -I. -I. -I./config cplus-type2.c
gcc -c -g -DGATHER_STATISTICS -O  -DESKIT  -I. -I. -I./config cplus-tree.c
gcc -c -g -DGATHER_STATISTICS -O  -DESKIT -I. -I. -I./config  cplus-lex.c
gcc -c -g -DGATHER_STATISTICS -O  -DESKIT  -I. -I. -I./config cplus-class.c
gcc -c -g -DGATHER_STATISTICS -O  -DESKIT  -I. -I. -I./config cplus-init.c
gcc -c -g -DGATHER_STATISTICS -O  -DESKIT  -I. -I. -I./config cplus-except.c
gcc -c -g -DGATHER_STATISTICS -O  -DESKIT  -I. -I. -I./config cplus-method.c
gcc -c -g -DGATHER_STATISTICS -O  -DESKIT  -I. -I. -I./config cplus-cvt.c
cplus-cvt.c: In function convert_to_pointer:
cplus-cvt.c:106: warning: assignment of pointer from integer lacks a cast
cplus-cvt.c: In function convert_to_pointer_force:
cplus-cvt.c:205: warning: assignment of pointer from integer lacks a cast
cplus-cvt.c: In function convert_pointer_to:
cplus-cvt.c:1195: warning: assignment of pointer from integer lacks a cast
gcc -c -g -DGATHER_STATISTICS -O  -DESKIT  -I. -I. -I./config cplus-search.c
gcc -c -g -DGATHER_STATISTICS -O  -DESKIT  -I. -I. -I./config cplus-ptree.c
gcc -c -g -DGATHER_STATISTICS -O  -DESKIT -I. -I. -I./config  toplev.c
toplev.c: 1131: _bufsiz: argument mismatch
toplev.c: 1131: _bufsiz: argument mismatch
toplev.c: 1131: _bufsiz: argument mismatch
toplev.c: 1131: _bufsiz: argument mismatch
------------------------------

Then thousands of the toplev.c error, until I Ctrl-C out.  I can't even
compile toplev.c with cc and the same arguments, so I don't think it's a gcc
problem.  This seems too stupid to be true, but I think I've done pretty
straightforward things.  Any hints?  The -Um68k looks suspicious to me in
crt1.c, but what do I know ...

If I'm wrong in thinking installing GNU ld and gas in /usr/local/lib/gcc- is
enough, please someone let me know.  Or let me know what's supposed to be in
./gcc-test ...

Thanks, sorry for ignorance -- Kevin Thompson
kthompso@ptolemy.arc.nasa.gov     Sterling Software/Nasa-Ames Research Center

PS: I know about the problem in cplus-typeck.c, I took out the random 'else'.