// { dg-do run  }

// Copyright (C) 2000 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 8 Mar 2000 <nathan@codesourcery.com>

// Derived from PR#7

// We need to destroy the thrown object when exiting the catch
// clause. That needs to destroy the original thrown object, not
// the caught one (which might be a base).

static int ok = 0;

struct A
{
  A (){};
  virtual ~A () {};
};

struct B : virtual A
{
  int value;
  B ()
    :value(10)
    {}
  ~B()
  {
    if (value == 10)
      ok = 1;
  }
};

int main()
{
  try {
    throw B ();
  } catch (A & e) {
  }
  return !ok;
}
