[gnu.g++.bug] G++ 1.31.0 Segmentation Violation

cooper@UUNET.UU.NET (Clark Cooper) (12/20/88)

System:		GNU C++ 1.31.0
Hardware:	Sun 3/280
OS:		SunOS 3.4
Configuration:	tm.h -> tm-sun3+.h
		md   -> m68k.md

Symptoms:

	GNU C++ 1.31.0 fails with a segmentation violation on test4.cc in the
libg++-1.25.0 test suite.

Script:

Script started on Mon Dec 19 13:29:50 1988
sculptorq% g++ -v -g -O -o test4 test4.cc -lg++ -lm
g++ version 1.31.0
 /usr/sculptorq/gnu/lib/gcc-cpp+ -v -undef -D__GNU__ -D__GNUG__ -Dmc68000 -Dsun -Dunix -D__OPTIMIZE__ test4.cc /tmp/cca14373.cpp
GNU CPP version 1.31.0
 /usr/sculptorq/gnu/lib/gcc-c++ /tmp/cca14373.cpp -quiet -dumpbase test4.cc -opt -version -G -o /tmp/cca14373.s
GNU C++ version 1.31.0 (68k, MIT syntax) compiled by GNU C version 1.31.
In function struct Integer fibonacci (struct Integer):
test4.cc:35: Segmentation violation
g++: Program c++ got fatal signal 11.
sculptorq% gdb+ /usr/sculptorq/gnu/lib/gcc-c++ core
GDB 2.8.1 (GNU C++ 1.31.0 compatible), Copyright (C) 1988 Free Software Foundation, Inc.
There is ABSOLUTELY NO WARRANTY for GDB; type "info warranty" for details.
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "info copying" to see the conditions.
Reading symbol data from /usr/sculptorq/gnu/lib/gcc-c++...done.
Core file is from "gcc-c++".
Program terminated with signal 11, Segmentation fault.
Type "help" for a list of commands.
(gdb+) bt
#0  0xf970 in chainon (op1=(tree) 0x1a47fc, op2=(tree) 0x1a9c84) (tree.c line 777)
#1  0x13772 in poplevel (keep=1, reverse=1, functionbody=0) (cplus-decl.c line 746)
#2  0x41e3c in expand_inline_function (fndecl=(tree) 0x12eac8, parms=(tree) 0x1a41d0, target=(rtx) 0x0, ignore=1, type=(tree) 0xb20b6, structure_value_addr=(rtx) 0x0) (integrate.c line 939)
#3  0x2d2de in expand_call (exp=(tree) 0x1a9398, target=(rtx) 0x0, ignore=1, modifier=EXPAND_NORMAL) (expr.c line 4123)
#4  0x2b75c in expand_expr (exp=(tree) 0x1a9398, target=(rtx) 0xad128, tmode=VOIDmode, modifier=EXPAND_NORMAL) (expr.c line 2720)
#5  0x2f756 in expand_expr_stmt (exp=(tree) 0x1a9398) (stmt.c line 929)
#6  0x816b6 in expand_delete (type=(tree) 0x12d134, addr=(tree) 0x1a1f20, auto_delete=729174) (cplus-init.c line 2307)
#7  0x2c506 in expand_expr (exp=(tree) 0x1a1f90, target=(rtx) 0xad128, tmode=VOIDmode, modifier=EXPAND_NORMAL) (expr.c line 3294)
#8  0x3071c in expand_cleanups (list=(tree) 0xae4cc, dont_do=(tree) 0x0) (stmt.c line 1902)
#9  0x30750 in fixup_cleanups (list=(tree) 0xae4cc, before_jump=(rtx *) 0x1a39ac) (stmt.c line 1918)
#10 0x2f2fc in fixup_gotos (stack_level=(rtx) 0x0, cleanup_list=(tree) 0x0, first_insn=(rtx) 0x19f770, dont_jump_in=0) (stmt.c line 696)
#11 0x32b52 in fixup_parm_cleanups (after=(rtx) 0x1a8914, before=(rtx) 0x19f7e8, end=(rtx) 0x1a92d4) (stmt.c line 3733)
#12 0x1c282 in finish_function (call_poplevel=0) (cplus-decl.c line 6451)
#13 0xbff4 in yyparse () (cplus-parse.y line 251)
#14 0x31aa in compile_file (name=(char *) 0xefffcdc "/tmp/cca14373.cpp") (toplev.c line 1010)
#15 0x46aa in main (argc=10, argv=(char **) 0xefffc74, envp=(char **) 0xefffca0) (toplev.c line 1824)
(gdb+) quit
sculptorq% ^D
script done on Mon Dec 19 13:32:31 1988
---
Clark Cooper       cooper@gecrux.steinmetz.ge.com, coopercc@crd.ge.com,
                   coopercc@ge-crd.arpa, ...!uunet!steinmetz!cooper

cooper@gecrux.steinmetz.ge.com (Clark Cooper) (12/20/88)

System:		GNU C++ 1.31.0
Hardware:	Sun 3/280
OS:		SunOS 3.4
Configuration:	tm.h -> tm-sun3+.h
		md   -> m68k.md

Symptoms:

	GNU C++ 1.31.0 fails with a segmentation violation on test4.cc in the
libg++-1.25.0 test suite.

Script:

Script started on Mon Dec 19 13:29:50 1988
sculptorq% g++ -v -g -O -o test4 test4.cc -lg++ -lm
g++ version 1.31.0
 /usr/sculptorq/gnu/lib/gcc-cpp+ -v -undef -D__GNU__ -D__GNUG__ -Dmc68000 -Dsun -Dunix -D__OPTIMIZE__ test4.cc /tmp/cca14373.cpp
GNU CPP version 1.31.0
 /usr/sculptorq/gnu/lib/gcc-c++ /tmp/cca14373.cpp -quiet -dumpbase test4.cc -opt -version -G -o /tmp/cca14373.s
GNU C++ version 1.31.0 (68k, MIT syntax) compiled by GNU C version 1.31.
In function struct Integer fibonacci (struct Integer):
test4.cc:35: Segmentation violation
g++: Program c++ got fatal signal 11.
sculptorq% gdb+ /usr/sculptorq/gnu/lib/gcc-c++ core
GDB 2.8.1 (GNU C++ 1.31.0 compatible), Copyright (C) 1988 Free Software Foundation, Inc.
There is ABSOLUTELY NO WARRANTY for GDB; type "info warranty" for details.
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "info copying" to see the conditions.
Reading symbol data from /usr/sculptorq/gnu/lib/gcc-c++...done.
Core file is from "gcc-c++".
Program terminated with signal 11, Segmentation fault.
Type "help" for a list of commands.
(gdb+) bt
#0  0xf970 in chainon (op1=(tree) 0x1a47fc, op2=(tree) 0x1a9c84) (tree.c line 777)
#1  0x13772 in poplevel (keep=1, reverse=1, functionbody=0) (cplus-decl.c line 746)
#2  0x41e3c in expand_inline_function (fndecl=(tree) 0x12eac8, parms=(tree) 0x1a41d0, target=(rtx) 0x0, ignore=1, type=(tree) 0xb20b6, structure_value_addr=(rtx) 0x0) (integrate.c line 939)
#3  0x2d2de in expand_call (exp=(tree) 0x1a9398, target=(rtx) 0x0, ignore=1, modifier=EXPAND_NORMAL) (expr.c line 4123)
#4  0x2b75c in expand_expr (exp=(tree) 0x1a9398, target=(rtx) 0xad128, tmode=VOIDmode, modifier=EXPAND_NORMAL) (expr.c line 2720)
#5  0x2f756 in expand_expr_stmt (exp=(tree) 0x1a9398) (stmt.c line 929)
#6  0x816b6 in expand_delete (type=(tree) 0x12d134, addr=(tree) 0x1a1f20, auto_delete=729174) (cplus-init.c line 2307)
#7  0x2c506 in expand_expr (exp=(tree) 0x1a1f90, target=(rtx) 0xad128, tmode=VOIDmode, modifier=EXPAND_NORMAL) (expr.c line 3294)
#8  0x3071c in expand_cleanups (list=(tree) 0xae4cc, dont_do=(tree) 0x0) (stmt.c line 1902)
#9  0x30750 in fixup_cleanups (list=(tree) 0xae4cc, before_jump=(rtx *) 0x1a39ac) (stmt.c line 1918)
#10 0x2f2fc in fixup_gotos (stack_level=(rtx) 0x0, cleanup_list=(tree) 0x0, first_insn=(rtx) 0x19f770, dont_jump_in=0) (stmt.c line 696)
#11 0x32b52 in fixup_parm_cleanups (after=(rtx) 0x1a8914, before=(rtx) 0x19f7e8, end=(rtx) 0x1a92d4) (stmt.c line 3733)
#12 0x1c282 in finish_function (call_poplevel=0) (cplus-decl.c line 6451)
#13 0xbff4 in yyparse () (cplus-parse.y line 251)
#14 0x31aa in compile_file (name=(char *) 0xefffcdc "/tmp/cca14373.cpp") (toplev.c line 1010)
#15 0x46aa in main (argc=10, argv=(char **) 0xefffc74, envp=(char **) 0xefffca0) (toplev.c line 1824)
(gdb+) quit
sculptorq% ^D
script done on Mon Dec 19 13:32:31 1988
---
Clark Cooper       cooper@gecrux.steinmetz.ge.com, coopercc@crd.ge.com,
                   coopercc@ge-crd.arpa, ...!uunet!steinmetz!cooper
--
Clark Cooper       cooper@gecrux.steinmetz.ge.com, coopercc@crd.ge.com,
                   coopercc@ge-crd.arpa, ...!uunet!steinmetz!cooper