This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: FYI: A new C++ demangler
- From: Michael Elizabeth Chastain <mec at shout dot net>
- To: binutils at sources dot redhat dot com, hjl at lucon dot org
- Cc: gdb at sources dot redhat dot com
- Date: Thu, 10 Jul 2003 20:36:35 -0400
- Subject: Re: FYI: A new C++ demangler
Summary: no regressions in the gdb test suite. One change detected
that's a slight improvement.
I know this is moot because gdb can't use code implemented in C++,
but I thought it would be interesting to run the test anyways.
I tested this with the usual:
target => native
host => i686-pc-linux-gnu
osversion => red-hat-8.0
gdb => HEAD%20030708
gcc => 2.95.3, 3.2-7-rh, 3.3, gcc-3_3-branch%20030707, HEAD%20030707
binutils => 2.13.90.0.2-rh, 2.14, binutils-2_14-branch%20030707, HEAD%20030707
glibc => 2.2.93-5-rh
gformat => dwarf-2, stabs+
glevel => 2
All the gcc v2 results were unchanged (obviously, since gdb still uses the
same v2 demangler).
The gcc v3 results were the same for all versions of gcc v3,
binutils, and gformat. There were three places where something like
this happened:
# old
print &'dm_type_unsigned_int'
$6 = (int (*)(unsigned int)) 0x8048940 <dm_type_unsigned_int(unsigned)>
(gdb) PASS: gdb.c++/cplusfuncs.exp: detect dm_type_unsigned_int
# new
print &'dm_type_unsigned_int'
$6 = (int (*)(unsigned int)) 0x8048940 <dm_type_unsigned_int(unsigned int)>
(gdb) PASS: gdb.c++/cplusfuncs.exp: detect dm_type_unsigned_int
That is, the old demangler prints 'unsigned' in some places, and the new
demangler prints 'unsigned int'. This happened once in
gdb.c++/cplusfuncs.exp and twice in gdb.c++/templates.exp.
Michael C