summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/eh/cond3.C
blob: 0af4ecdad969b35e6c9693768c51cedd4df9cf78 (plain)
1
2
3
4
5
6
7
8
9
10
// PR c++/24996
// Bug: the cleanup for the A temporary was confusing the gimplifier
// because of the TRY_CATCH_EXPR for the exception object.

struct A { A(int); ~A(); };
struct B { B(A); ~B(); };
void foo(bool b)
{
  throw b ? B(1) : B(1);
}