aboutsummaryrefslogtreecommitdiff
path: root/libiberty
diff options
context:
space:
mode:
authorBill Maddox <maddox@google.com>2013-12-23 17:49:47 +0000
committerMike Frysinger <vapier@gentoo.org>2014-01-06 13:44:21 -0500
commiteafbc3bf7b4ae9d85c833037413239c45393d266 (patch)
tree900d220e37e502c36b21158f09a0ab14ad14804d /libiberty
parent78f47043ff0654e832d6ac9aa96c9d0819739483 (diff)
downloadgdb-eafbc3bf7b4ae9d85c833037413239c45393d266.zip
gdb-eafbc3bf7b4ae9d85c833037413239c45393d266.tar.gz
gdb-eafbc3bf7b4ae9d85c833037413239c45393d266.tar.bz2
libiberty: sync with gcc
PR c++/41090 Add -fdeclone-ctor-dtor. include/ * demangle.h (enum gnu_v3_ctor_kinds): Added literal gnu_v3_unified_ctor. (enum gnu_v3_ctor_kinds): Added literal gnu_v3_unified_dtor. libiberty/ * cp-demangle.c (cplus_demangle_fill_ctor,cplus_demangle_fill_dtor): Handle unified ctor/dtor. (d_ctor_dtor_name): Handle unified ctor/dtor. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206182 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libiberty')
-rw-r--r--libiberty/ChangeLog6
-rw-r--r--libiberty/cp-demangle.c7
2 files changed, 13 insertions, 0 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 825ddd2..1e8d0fe 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,9 @@
+2013-12-23 Bill Maddox <maddox@google.com>
+
+ * cp-demangle.c (cplus_demangle_fill_ctor,cplus_demangle_fill_dtor):
+ Handle unified ctor/dtor.
+ (d_ctor_dtor_name): Handle unified ctor/dtor.
+
2013-11-22 Cary Coutant <ccoutant@google.com>
PR other/59195
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index 029151e..7f51268 100644
--- a/libiberty/cp-demangle.c
+++ b/libiberty/cp-demangle.c
@@ -2107,6 +2107,9 @@ d_ctor_dtor_name (struct d_info *di)
case '3':
kind = gnu_v3_complete_object_allocating_ctor;
break;
+ case '4':
+ kind = gnu_v3_unified_ctor;
+ break;
case '5':
kind = gnu_v3_object_ctor_group;
break;
@@ -2132,6 +2135,10 @@ d_ctor_dtor_name (struct d_info *di)
case '2':
kind = gnu_v3_base_object_dtor;
break;
+ /* digit '3' is not used */
+ case '4':
+ kind = gnu_v3_unified_dtor;
+ break;
case '5':
kind = gnu_v3_object_dtor_group;
break;