This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/8047: [i386] Stack corruption with exceptions
- From: Wolfgang Bangerth <bangerth at ticam dot utexas dot edu>
- To: gcc-gnats at gcc dot gnu dot org, <gcc-bugs at gcc dot gnu dot org>
- Date: Fri, 15 Nov 2002 18:31:44 -0600 (CST)
- Subject: Re: c++/8047: [i386] Stack corruption with exceptions
I just looked at this report. A reduced testcase is this:
-----------------------------------
struct auto_ptr {
auto_ptr(int) { }
};
int foo() { throw 5; }
int main()
{
label:
try {
auto_ptr x(foo());
}
catch (...)
{
}
goto label;
}
----------------------------------
On closer examination, I believe this to be actually a stack corruption
bug, because if I put a breakpoint into the loop, I can see how the stack
pointer is decreased by 8 bytes in each iteration, which eventually leads
to the program running out of space. Note that this behavior requires that
you use -march=386, using i686 does not trigger the problem.
Regards
Wolfgang
-------------------------------------------------------------------------
Wolfgang Bangerth email: bangerth@ticam.utexas.edu
www: http://www.ticam.utexas.edu/~bangerth