This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: c++ regression in trunk
- From: howarth at bromo dot msbb dot uc dot edu (Jack Howarth)
- To: howarth at bromo dot msbb dot uc dot edu, mrs at apple dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 31 May 2006 00:14:30 -0400 (EDT)
- Subject: Re: c++ regression in trunk
Mike,
Actually the problem appears unrelated to cxa_atexit as neither
-fuse-cxa-atexit nor -fno-use-cxa-atexit eliminates the problem
with the throw aborting the program.
I do believe I have found a work-around to the problem which
identifies the nature of the issue as well. The xplor-nih program
(xplor) is linked with gcc (since it contains only a single object
file of c). However shared libraries of c++ and fortran code are
linked to the main xplor program as well. The main c routine in
xplor calls a fortran routine in one of its fortran shared libraries
which in turn calls and returns from c++ code in a c++ shared library.
I am able to suppress the aborts on the throw in xplor-nih when
built under gcc 4.2 if I link the main xplor program with g++ rather
than gcc. Should this be considered a regression from gcc 4.0/4.1?
Since the c++ shared libraries are linked with g++ and the fortran
shared libraries are linked with gfortran, it seemed that the main
program (containing only a single object file from c code) should
be linkable with gcc (despite c++ and fortran shared libraries being
linked in to the main xplor program).
Jack