This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/10606] uncaught_exception() returns false too early
- From: "rth at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Feb 2004 03:49:49 -0000
- Subject: [Bug libstdc++/10606] uncaught_exception() returns false too early
- References: <20030502212600.10606.sebor@roguewave.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From rth at redhat dot com 2004-02-08 03:49 -------
Subject: Re: uncaught_exception() returns false too early
Jason, is the analysis in this PR correct? If so, I guess the IA-64 EH
ABI isn't good enough. We'd need to add a new entry point to be used
with catch types with non-trivial constructors. Something like:
struct S s;
T.1 = __cxa_begin_catch_part1 (<<eh object>>);
try
{
try
{
__comp_ctor (&s, T.1)
}
catch
{
terminate ();
}
__cxa_begin_catch_part2 (<<eh object>>);
try
{
// handler
}
finally
{
__comp_dtor (&s);
}
}
finally
{
__cxa_end_catch ();
}
r~
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10606