https://stackoverflow.com/a/6614369/1091587には、「gcc3」タイプの名前マングリングを使用してコンパイルされたプログラムのシンボル テーブルを読み取るときに表示されるデストラクタ タイプ (D0、D1、D2) の簡単な概要があります。対応するコンストラクター C0/C1/C2 もあります。g++-4.7 (おそらくそれ以前) では、新しい ctor/dtor ペア、つまり C5/D5 が表示されますが、デバッグ シンボルとしてのみです。
$ cat i.cpp
class X { public: virtual ~X() {}; };
int main(void) { X x; return 0; };
$ g++ -c i.cpp
$ nm i.o | grep 5
0000000000000000 n _ZN1XC5Ev
0000000000000000 n _ZN1XD5Ev
$ c++filt -n _ZN1XC5Ev _ZN1XD5Ev
X::X()
X::~X()
デマングラーのソースは D5 オブジェクトを「gnu_v3_object_dtor_group」と呼んでいますが、dtor グループとは正確には何ですか? clang++-3.3 はそれを発行しません。http://gcc.gnu.org/ml/gcc-patches/2011-11/msg00383.html は、 gcc の新しいトランザクション メモリ機能と関係がある可能性があることを示唆しています。