extern "C" void catch_nested() { try { might_throw(); } catch (int) { try { might_throw(); } catch (int) { might_throw(); } } }
extern "C" void catch_a_byval() { try { might_throw(); } catch (A e) { handle_exception(&e); } }
extern "C" void catch_int() { try { might_throw(); } catch (int e) { handle_exception(&e); } }
extern "C" void catch_all() { try { might_throw(); } catch (...) { recover(); } }
extern "C" void use_cxx() { HasCleanup x; might_throw(); }
extern "C" void catch_int_unnamed() { try { might_throw(); } catch (int) { } }
extern "C" void fn_with_exc_spec() throw(int) { might_throw(); }