// Special g++ Options: -fexceptions
// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* z8k-*-* arm-*-pe**-*

#include <exception>

void my_unexpected() {
  throw 42;
}

template <class T> int foo(T) throw (T) { throw "Hi"; }

main() {
  std::set_unexpected (my_unexpected);
  try {
    foo(1);
  } catch (int i) {
    if (i == 42)
      return 0;
  }
  return 1;
}
