[Bug c++/62306] [4.9/5 Regression?] Change in the comdat used for constructors

rafael.espindola at gmail dot com gcc-bugzilla@gcc.gnu.org
Tue Sep 2 16:24:00 GMT 2014


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62306

--- Comment #6 from Rafael Avila de Espindola <rafael.espindola at gmail dot com> ---
OK, so should we declare r206182 an "unintentional bug fix" and mark this bug
wontfix?

To be clear, the ABI then is

For any class an implementation has the option of using one comdat per
constructor/destructor or using a C5/D5 comdat. I may make that decision based
on any profitability criterion. If using a C5/D5 comdat the rules are

* A C5 comdat must have C1 and C2.
* If a class has a virtual destructor, the D5 comdat must have D0, D1 and D2
* If a class has a non-virtual destructor, the D5 comdat must have only the D1
and D2 destructors. That is true even if the implementation uses D0 instead of
a call to D1 + _ZdlPv to implement "delete *x"

Should this be documented in

https://refspecs.linuxbase.org/cxxabi-1.86.html ?



More information about the Gcc-bugs mailing list