#include <iostream>
void Foo() __attribute__((noreturn));
void m_call_throw() __attribute__((noreturn));;
void Foo(bool b)
{
if (b)
{
throw std::exception{};
}
m_call_throw();
}
void m_call_throw()
{
throw std::exception{};
}
int main()
{
try
{
Foo(false);
Foo(true);
}
catch (...)
{
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdm9pZCBGb28oKSBfX2F0dHJpYnV0ZV9fKChub3JldHVybikpOwp2b2lkIG1fY2FsbF90aHJvdygpICBfX2F0dHJpYnV0ZV9fKChub3JldHVybikpOzsKCnZvaWQgRm9vKGJvb2wgYikKewogICAgaWYgKGIpCiAgICB7CiAgICAgICAgdGhyb3cgc3RkOjpleGNlcHRpb257fTsKICAgIH0KCiAgICBtX2NhbGxfdGhyb3coKTsKfQoKdm9pZCBtX2NhbGxfdGhyb3coKQp7CiAgICB0aHJvdyBzdGQ6OmV4Y2VwdGlvbnt9Owp9CgppbnQgbWFpbigpCnsKCXRyeQoJewoJICAgIEZvbyhmYWxzZSk7CgkgICAgRm9vKHRydWUpOwoJfQoJY2F0Y2ggKC4uLikKCXsKCQoJfQp9