c++/8582: 3.2.1 pre-release: ICE in exception handling
Volker Reichelt
reichelt@igpm.rwth-aachen.de
Thu Nov 14 13:23:00 GMT 2002
Here's a reduced testcase:
----------------------------snip here-------------------------------
void* operator new(unsigned int, void*) throw();
void operator delete (void*, void*) throw();
struct A { A(); };
struct B
{
struct X
{
~X();
operator void* () const;
};
X bar();
};
struct C
{
B b;
C(A&) { new(b.bar()) A; }
};
void foo()
{
A a;
C c(a);
}
----------------------------snip here-------------------------------
This one crashes gcc 3.0.x, gcc 3.1 - gcc 3.2.1:
bug.cc: In constructor `C::C(A&)':
bug.cc:21: Internal compiler error in convert_from_eh_region_ranges_1, at
except.c:1404
Please submit a full bug report, [etc.]
However, it does not crash gcc 2.95.3 (regression!) and mainline.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8582
More information about the Gcc-bugs
mailing list