Thread View: gnu.g++.bug
1 messages
1 total messages
Started by Stephen Schaefer
Fri, 23 Dec 1988 17:34
g++ 1.31 & String.h
Author: Stephen Schaefer
Date: Fri, 23 Dec 1988 17:34
Date: Fri, 23 Dec 1988 17:34
73 lines
3205 bytes
3205 bytes
Background:
On a 4.3BSD Vax 8650, I have g++ 1.31 compiled with gcc 1.31, with
fixes by Michael Tiemann to g++/cplus-init.c, g++/expr.c, g++/stmt.c,
and reverse_condition made extern in gcc/jump.c. I get a segmentation
violation with the following program. std.h and String.h are as
distributed with libg++ 1.25. gcc-c++ wasn't producing any core file,
although it did produce the ``Segmentation violation'' message, and
g++ was reporting that gcc-c++ was killed with a fatal signal. The
following change to the g++ code produced a core file for me:
*** /tmp/,RCSt1010881 Thu Dec 22 17:53:20 1988
--- toplev.c Thu Dec 22 16:16:24 1988
***************
*** 1881,1884 ****
--- 1881,1885 ----
{
error ("Segmentation violation");
signal (SIGSEGV, SIG_DFL);
+ (void) kill(getpid(), SIGSEGV);
}
Here is a script of the problem:
Script started on Fri Dec 23 12:11:22 1988
simon:sps:161 cat test.cc
# include "std.h"
# include "String.h"
void
doo()
{
String version; // if this is gone ...
char ch;
switch(ch)
{
case 'v':
String wh; // ... or this is gone, it works.
break;
}
}
simon:sps:162 g++ -v -c test.cc
g++ version 1.31.0
/usr/local/std/lib/gcc-cpp+ -v -undef -D__GNU__ -D__GNUG__ -Dvax -Dunix test.cc /tmp/cc012457.cpp
GNU CPP version 1.31.0
/usr/local/std/lib/gcc-c++ /tmp/cc012457.cpp -quiet -dumpbase test.cc -noreg -version -o /tmp/cc012457.s
GNU C++ version 1.31.0 (vax) compiled by GNU C version 1.31.
In function doo ():
test.cc:15: Segmentation violation
g++: Program c++ got fatal signal 11.
simon:sps:163 gdb /usr/local/std/lib/gcc-c++ core
GDB 2.5, 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/local/std/lib/gcc-c++...done.
Type "help" for a list of commands.
(gdb) where
#0 0x34925 in fixup_gotos (stack_level=(rtx) 0x0, cleanup_list=(tree) 0x9ded4, first_insn=(rtx) 0x1e0360, dont_jump_in=1) (stmt.c line 680)
#1 0x35c2b in expand_end_bindings (vars=(tree) 0x1e2228, mark_ends=1, dont_jump_in=1) (stmt.c line 1646)
#2 0xcde2 in yyparse () (cplus-parse.y line 1728)
#3 0x136e in compile_file (name=(char *) 0x7fffe91c "/tmp/cc015029.cpp") (toplev.c line 1010)
#4 0x2c67 in main (argc=9, argv=(char **) 0x7fffe8a4, envp=(char **) 0x7fffe8cc) (toplev.c line 1824)
(gdb) quit
simon:sps:164
script done on Fri Dec 23 12:16:45 1988
--
Stephen P. Schaefer, Postmaster MCNC
sps@mcnc.org P.O. Box 12889
...!mcnc!sps RTP, NC 27709
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads