[gnu.g++.bug] Curious interaction of -c -O -g switches with G++ 1.36.2

franke@lynx.cad.mcc.com (David Franke) (11/29/89)

	Using G++ 1.36.2 on a Sun3 running OS 4.0.3, some combinations of
	switches -c -O and -g cause "fatal signal 11" in cc1plus while
	processing #include <stream.h>  See examples below.



[2.51]lynx) cat test.cc 
 
#include <stream.h> 
 
main (int argc, char *argv[]) 
{ 
  cout << "Goodbye world.\n"; 
} 


[2.52]lynx) g++-1.36.2 -v -g -o test test.cc
g++ version 1.36.2- (based on GCC 1.36) 
 /usr/local/gnu/1.36.2/lib/gcc-cpp -+ -v -undef -D__GNUC__ -D__GNUG__ -D__cplusplus -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__OPTIMIZE__ -D__HAVE_68881__ -Dmc68020 test.cc /usr/tmp/cca04379.cpp 
GNU CPP version 1.36 
 /usr/local/gnu/1.36.2/lib/gcc-cc1plus /usr/tmp/cca04379.cpp -quiet -dumpbase test.cc -g -O -version -o /usr/tmp/cca04379.s 
GNU C++ version 1.36.2- (based on GCC 1.36) (68k, MIT syntax) compiled by GNU C version 1.36. 
default target switches: -m68020 -mc68020 -m68881 -mbitfield 
 /usr/local/gnu/1.36.2/lib/gcc-as -mc68020 -o test.o /usr/tmp/cca04379.s 
 /usr/local/gnu/1.36.2/lib/gcc-ld -o test -e start -dc -dp -Bstatic /lib/crt0.o /lib/Mcrt1.o test.o -lg++ /usr/local/gnu/1.36.2/lib/gcc-gnulib -lg -lc 
[2.53]lynx) test 
Goodbye world. 


[2.54]lynx) g++-1.36.2 -v -g -o test test.cc 
g++ version 1.36.2- (based on GCC 1.36) 
 /usr/local/gnu/1.36.2/lib/gcc-cpp -+ -v -undef -D__GNUC__ -D__GNUG__ -D__cplusplus -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__HAVE_68881__ -Dmc68020 test.cc /usr/tmp/cca04385.cpp 
GNU CPP version 1.36 
 /usr/local/gnu/1.36.2/lib/gcc-cc1plus /usr/tmp/cca04385.cpp -quiet -dumpbase test.cc -g -version -o /usr/tmp/cca04385.s 
GNU C++ version 1.36.2- (based on GCC 1.36) (68k, MIT syntax) compiled by GNU C version 1.36. 
default target switches: -m68020 -mc68020 -m68881 -mbitfield 
/usr/local/gnu/1.36.2/lib/g++-include/streambuf.h: In method int streambuf::allocate (): 
In file included from /usr/local/gnu/1.36.2/lib/g++-include/stream.h:35, from test.cc:2: 
/usr/local/gnu/1.36.2/lib/g++-include/streambuf.h:163: Segmentation violation 
g++-1.36.2: Program cc1plus got fatal signal 11. 


[2.55]lynx) g++-1.36.2 -v -c -o test.o test.cc 
g++ version 1.36.2- (based on GCC 1.36) 
 /usr/local/gnu/1.36.2/lib/gcc-cpp -+ -v -undef -D__GNUC__ -D__GNUG__ -D__cplusplus -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__HAVE_68881__ -Dmc68020 test.cc /usr/tmp/cca04388.cpp 
GNU CPP version 1.36 
 /usr/local/gnu/1.36.2/lib/gcc-cc1plus /usr/tmp/cca04388.cpp -quiet -dumpbase test.cc -version -o /usr/tmp/cca04388.s 
GNU C++ version 1.36.2- (based on GCC 1.36) (68k, MIT syntax) compiled by GNU C version 1.36. 
default target switches: -m68020 -mc68020 -m68881 -mbitfield 
 /usr/local/gnu/1.36.2/lib/gcc-as -mc68020 -o test.o /usr/tmp/cca04388.s 
[2.56]lynx) g++-1.36.2 -v -o test test.o 
g++ version 1.36.2- (based on GCC 1.36) 
 /usr/local/gnu/1.36.2/lib/gcc-ld -o test -e start -dc -dp /lib/crt0.o /lib/Mcrt1.o test.o -lg++ /usr/local/gnu/1.36.2/lib/gcc-gnulib -lc 
[2.57]lynx) test 
Goodbye world. 


[2.58]lynx) g++-1.36.2 -v -c -g -o test.o test.cc 
g++ version 1.36.2- (based on GCC 1.36) 
 /usr/local/gnu/1.36.2/lib/gcc-cpp -+ -v -undef -D__GNUC__ -D__GNUG__ -D__cplusplus -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__HAVE_68881__ -Dmc68020 test.cc /usr/tmp/cca04395.cpp 
GNU CPP version 1.36 
 /usr/local/gnu/1.36.2/lib/gcc-cc1plus /usr/tmp/cca04395.cpp -quiet -dumpbase test.cc -g -version -o /usr/tmp/cca04395.s 
GNU C++ version 1.36.2- (based on GCC 1.36) (68k, MIT syntax) compiled by GNU C version 1.36. 
default target switches: -m68020 -mc68020 -m68881 -mbitfield 
/usr/local/gnu/1.36.2/lib/g++-include/streambuf.h: In method int streambuf::allocate (): 
In file included from /usr/local/gnu/1.36.2/lib/g++-include/stream.h:35, from test.cc:2: 
/usr/local/gnu/1.36.2/lib/g++-include/streambuf.h:163: Segmentation violation 
g++-1.36.2: Program cc1plus got fatal signal 11. 


[2.59]lynx) g++-1.36.2 -v -c -g -O -o test.o test.cc 
g++ version 1.36.2- (based on GCC 1.36) 
 /usr/local/gnu/1.36.2/lib/gcc-cpp -+ -v -undef -D__GNUC__ -D__GNUG__ -D__cplusplus -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__OPTIMIZE__ -D__HAVE_68881__ -Dmc68020 test.cc /usr/tmp/cca04398.cpp 
GNU CPP version 1.36 
 /usr/local/gnu/1.36.2/lib/gcc-cc1plus /usr/tmp/cca04398.cpp -quiet -dumpbase test.cc -g -O -version -o /usr/tmp/cca04398.s 
GNU C++ version 1.36.2- (based on GCC 1.36) (68k, MIT syntax) compiled by GNU C version 1.36. 
default target switches: -m68020 -mc68020 -m68881 -mbitfield 
 /usr/local/gnu/1.36.2/lib/gcc-as -mc68020 -o test.o /usr/tmp/cca04398.s 
[2.60]lynx) g++-1.36.2 -v -o test test.o 
g++ version 1.36.2- (based on GCC 1.36) 
 /usr/local/gnu/1.36.2/lib/gcc-ld -o test -e start -dc -dp /lib/crt0.o /lib/Mcrt1.o test.o -lg++ /usr/local/gnu/1.36.2/lib/gcc-gnulib -lc 
[2.61]lynx) test 
Goodbye world. 


[2.62]lynx) g++-1.36.2 -v -c -O -o test.o test.cc 
g++ version 1.36.2- (based on GCC 1.36) 
 /usr/local/gnu/1.36.2/lib/gcc-cpp -+ -v -undef -D__GNUC__ -D__GNUG__ -D__cplusplus -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__OPTIMIZE__ -D__HAVE_68881__ -Dmc68020 test.cc /usr/tmp/cca04405.cpp 
GNU CPP version 1.36 
 /usr/local/gnu/1.36.2/lib/gcc-cc1plus /usr/tmp/cca04405.cpp -quiet -dumpbase test.cc -O -version -o /usr/tmp/cca04405.s 
GNU C++ version 1.36.2- (based on GCC 1.36) (68k, MIT syntax) compiled by GNU C version 1.36. 
default target switches: -m68020 -mc68020 -m68881 -mbitfield 
/usr/local/gnu/1.36.2/lib/g++-include/streambuf.h: In method int streambuf::allocate (): 
In file included from /usr/local/gnu/1.36.2/lib/g++-include/stream.h:35, from test.cc:2: 
/usr/local/gnu/1.36.2/lib/g++-include/streambuf.h:163: Segmentation violation 
g++-1.36.2: Program cc1plus got fatal signal 11. 


 David Franke, MCC CAD Program | ARPA: franke@mcc.com | Phone: [512] 338-3641
 UUCP: {uunet,harvard,gatech,pyramid}!cs.utexas.edu!milano!cadillac!franke