analysis of libiberty/cp-demangle.c for libsupc++/__cxa_demangle
Benjamin Kosnik
bkoz@redhat.com
Mon Feb 23 23:06:00 GMT 2004
An experimental patch to use the libiberty cp-demangle routines in
libsupc++/__cxa_demangle is attached. An additional (small) patch is
needed for libiberty/cp-demangle.c.
I have 4 new fails when it's used.
FAIL: demangle/abi_examples/01.cc execution test
FAIL: demangle/abi_examples/02.cc execution test
string: f
libiberty: float
libstdc++: f
I think libiberty is pretty clearly wrong here, just based on the C++ ABI docs.
FAIL: demangle/regression/cw-11.cc execution test
string: _X11TransParseAddress
libiberty: _X11TransParseAddress, -2: invalid mangled name
libstdc++: _X11TransParseAddress
Same: this is twisted, but not invalid.
FAIL: demangle/regression/cw-16.cc execution test
string: _Z3fooIA6_KiEvA9_KT_rVPrS4_
libiberty:void foo<int const [6]>(int const ( const [9]) [6], int const ( const ( restrict* volatile restrict) [9]) [6])
libstdc++:void foo<int const [6]>(int const [9][6], int const restrict (* volatile restrict) [9][6])
This is based on libstdc++/12736.
See http://gcc.gnu.org/ml/libstdc++/2003-10/msg00222.html
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: p.20040223-3-libiberty.patch
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20040223/823ebdee/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: p.20040223-3.patch
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20040223/823ebdee/attachment-0001.ksh>
More information about the Libstdc++
mailing list