#include <cassert>
#include <cstdlib>
#include <exception>
void expected_terminate() {
exit(0);
}
void throw_exception() {
// do nothing and return, so that std::terminate() can be invoked.
}
int main() {
std::set_terminate(expected_terminate);
std::set_unexpected(throw_exception);
try {
std::unexpected();
assert(false);
} catch (...) {
assert(false);
}
assert(false);
return 1;
}