Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.old-deja/g++.eh/rethrow1.C @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
line wrap: on
line source
// { dg-do run } // Testcase for proper handling of rethrow. #include <stdio.h> int c, d; struct A { int i; A () { i = ++c; printf ("A() %d\n", i); } A (const A&) { i = ++c; printf ("A(const A&) %d\n", i); } ~A() { printf ("~A() %d\n", i); ++d; } }; int main () { try { try { printf ("Throwing 1...\n"); throw A(); } catch (A) { try { printf ("Throwing 2...\n"); throw A(); } catch (A) { printf ("Throwing 3...\n"); throw; } } } catch (A) { printf ("Caught.\n"); } printf ("c == %d, d == %d\n", c, d); return c != d; }