URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [g++.dg/] [eh/] [elide1.C] - Rev 816
Compare with Previous | Blame | View Log
// PR c++/13944
// Bug: When eliding the copy from the A temporary into the exception
// object, we extended the throw prohibition to the constructor for the
// temporary. This is wrong; the throw from A() should propagate normally
// regardless of the elision of the temporary.
// { dg-do run }
struct A
{
A() { throw 0; }
};
int main()
{
try
{
throw A();
}
catch(int i)
{
return i;
}
catch (...)
{
return 2;
}
return 3;
}