URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Subversion Repositories openrisc_2011-10-31
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.2.2/] [gcc/] [testsuite/] [g++.dg/] [opt/] [cfg2.C] - Rev 154
Compare with Previous | Blame | View Log
// PR optimization/12215
// Origin: <nick@ilm.com>
// Reduced testcase by Wolfgang Bangerth <bangerth@ticam.utexas.edu>
// This used to fail because the CSE pass destroyed the CFG in presence
// of trapping loads, which led to the deletion of basic blocks.
// { dg-do compile }
// { dg-options "-O2 -fno-gcse -fnon-call-exceptions" }
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 (...) {}
}