[patch] Make cxxfilt demangle internal-linkage templates

Paul Pluzhnikov ppluzhnikov@google.com
Wed Aug 7 18:32:00 GMT 2013


On Wed, Aug 7, 2013 at 11:09 AM, Jan Kratochvil
<jan.kratochvil@redhat.com> wrote:

> there should be a new case in:
>         libiberty/testsuite/demangle-expected

Thanks. I updated the patch.
-- 
Paul Pluzhnikov


2013-08-07  Paul Pluzhnikov  <ppluzhnikov@google.com>

        * cp-demangle.c (d_name): Handle internal-linkage templates.
        * testsuite/demangle-expected: New case.
-------------- next part --------------
Index: libiberty/cp-demangle.c
===================================================================
RCS file: /cvs/src/src/libiberty/cp-demangle.c,v
retrieving revision 1.111
diff -p -u -r1.111 cp-demangle.c
--- libiberty/cp-demangle.c	4 Apr 2013 01:02:59 -0000	1.111
+++ libiberty/cp-demangle.c	7 Aug 2013 18:28:30 -0000
@@ -1276,7 +1276,6 @@ d_name (struct d_info *di)
     case 'Z':
       return d_local_name (di);
 
-    case 'L':
     case 'U':
       return d_unqualified_name (di);
 
@@ -1323,6 +1322,7 @@ d_name (struct d_info *di)
 	return dc;
       }
 
+    case 'L':
     default:
       dc = d_unqualified_name (di);
       if (d_peek_char (di) == 'I')
Index: libiberty/testsuite/demangle-expected
===================================================================
RCS file: /cvs/src/src/libiberty/testsuite/demangle-expected,v
retrieving revision 1.74
diff -p -u -r1.74 demangle-expected
--- libiberty/testsuite/demangle-expected	4 Apr 2013 01:03:01 -0000	1.74
+++ libiberty/testsuite/demangle-expected	7 Aug 2013 18:28:30 -0000
@@ -4291,3 +4291,6 @@ void m<void () &&>(void (A::*)() &&)
 --format=gnu-v3
 _Z1nIM1AKFvvREEvT_
 void n<void (A::*)() const &>(void (A::*)() const &)
+--format=gnu-v3
+_ZL1fIiEvv
+void f<int>()


More information about the Binutils mailing list