view gcc/testsuite/g++.old-deja/g++.mike/eh24.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
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;
  }
};

int
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;
}