This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/12491] [3.3/3.4 Regression] [eh] Destructor fails to compile when optimizations (inlining) are enabled
- From: "wilson at specifixinc dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Dec 2003 01:09:35 -0000
- Subject: [Bug c++/12491] [3.3/3.4 Regression] [eh] Destructor fails to compile when optimizations (inlining) are enabled
- References: <20031002113610.12491.harizak@speech.gr>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From wilson at specifixinc dot com 2003-12-06 01:09 -------
Subject: Re: [3.3/3.4 Regression] [eh] Destructor fails to
compile when optimizations (inlining) are enabled
ebotcazou at gcc dot gnu dot org wrote:
> ------- Additional Comments From ebotcazou at gcc dot gnu dot org 2003-12-05 14:37 -------
> Can a C++ specialist tell if it is normal for the RTL code of Error::~Error() to
> be emitted twice (see .rtl at -O0 or -O -fno-inline)? If not, I think this is
> probably the source of the problem.
This came up on the gcc list recently. Gaby answered that worst case we
need 3 of them, and it is common to need 2 of them. Unfortunately, I
can't find his answer at the moment. If you unmangle the mangled names,
you will see one described as "in-charge" and one described as
"not-in-charge", though I don't know what that means. Sometimes they
are identical, but gcc doesn't know how to optimize out the redundant one.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12491