https://github.com/rust-lang/rust/pull/104070#discussion_r1161104939 For this C++: ``` void b() noexcept { f(); } ``` we get this gimple: ``` void b () { try { f (); } catch { <<<eh_must_not_throw (terminate)>>> } } ``` Seems like we just need to set `TRY_CATCH_IS_CLEANUP` on `TRY_CATCH_EXPR`.