The C++ ABI at http://www.codesourcery.com/cxx-abi/abi.html defines:
<ctor-dtor-name> ::= C1 # complete object constructor
::= C2 # base object constructor
::= C3 # complete object allocating constructor
::= D0 # deleting destructor
::= D1 # complete object destructor
::= D2 # base object destructor
However, libdemange/c++filt no longer translate those specifiers. I think this
is a regression from previous revisions of the library. They used to specify
"in-charge" or other strings for the various ctor/dtor flavors.
Example of raw constructor string:
_ZN9DagSymbolC2Ev
_ZN9DagSymbolC1Ev
These both are demangled as:
DagSymbol::DagSymbol()
--
Summary: libdemangle no longer distinguishes
constructor/destructor variants
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sanjay3000 at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35201