https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82504
--- Comment #2 from Antony Polukhin <antoshkka at gmail dot com> --- +1. Some realistic code examples were the optimization could be very useful if triggered after inlining: // Destructors bar::~bar() { try { cleanup_some_dangerous_resources(); } catch(...) {} } // Logging #define SafeLog(X) try { g_logger << X << std::endl; } catch (...){} // Poor Try* functions bool try_parse(const char* text) { try { parse_text(text); // throws } catch (...) { return false; } return true; }