// PR c++/44127 // This is basically the same test as g++.eh/terminate1.C, but that one // tests runtime behavior and this tests the assembly output. The test // should call terminate (because initializing the catch parm throws), but // from the personality routine, not directly. // { dg-final { scan-assembler-not "_ZSt9terminatev" } } // Also there should only be two EH call sites: #0 for throw A() and #1 for // _Unwind_Resume. We don't want call site info for __cxa_end_catch, since // ~A is trivial. // { dg-final { scan-assembler-not "LEHB2" } } struct A { A() { } A (const A&) { throw 1; } }; int main() { try { throw A(); } catch (A) { } }