This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/12215] [3.3 regression] ICE in make_label_edge with -fnon-call-exceptions -fno-gcse -O2
- From: "bangerth at dealii dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 11 Sep 2003 02:05:27 -0000
- Subject: [Bug optimization/12215] [3.3 regression] ICE in make_label_edge with -fnon-call-exceptions -fno-gcse -O2
- References: <20030908201220.12215.nick@ilm.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12215
------- Additional Comments From bangerth at dealii dot org 2003-09-11 02:05 -------
This one was fairly painless compared to some of the optimization PRs:
---------------------------
struct B {
~B() throw() {}
};
struct X {
X(const char*, const B&);
~X() {}
};
bool m();
void f(int &i, float &arg0);
void g (const char **argv) {
float val;
int i = 1;
try {
while ( i < 1 )
{
X arg(argv[i], B());
if (m())
throw(0);
f(i, val);
}
} catch (...) {}
}
------------------------------------
It only fails with 3.3, but that doesn't mean that the bug is
not also present in latent form on mainline, of course:
g/x> /home/bangerth/bin/gcc-3.3.2-pre/bin/c++ -fnon-call-exceptions -fno-gcse
-O2 -c y.cc
y.cc: In function `void g(const char**)':
y.cc:27: internal compiler error: in make_label_edge, at cfgbuild.c:238
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
W.