https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119507
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #1) > Confirmed. > > This has been true since the support for moving comdat gcc_except_table to > their own section in r0-118218-g3e6011cfebedfb (which was first included in > GCC 4.8.0). > > > Something like this: s/||/&&/ :) Also here is a decent testcase: ``` inline int comdat() { try { throw 1; } catch (int) { return 1; } return 0; } int another_func_with_exception() { try { throw 1; } catch (int) { return 1; } return 0; } inline int comdat1() { try { throw 1; } catch (int) { return 1; } return 0; } int foo() { return comdat() + comdat1(); } ``` There should be .gcc_except_table._Z6comdatv and .gcc_except_table._Z7comdat1v created but currently only .gcc_except_table._Z6comdatv and .gcc_except_table as the exception table for _Z7comdat1v is placed in gcc_except.