view gcc/testsuite/g++.old-deja/g++.mike/eh24.C @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
line wrap: on
line source

// { dg-do run { xfail sparc64-*-elf arm-*-pe } }
// { dg-options "-fexceptions" }

int fail = 0;

struct A {
  int ok;
  A() {
    ok = 1;
  }
  ~A() {
    if (! ok)
      fail = 1;
    ok = 0;
  }
};

main() {
  try {
    try {
      A  a;
      throw 1.0;
    } catch (double i) {
      A a1;
      throw 1;    // make sure both a1 and a2 are not destroyed when we throw!
    } catch (int i) {
      A a2;
      throw 1.0;
    }
  } catch (int i) {
  }
  return fail;
}