This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFA: New V3 demangler


On Thu, Nov 20, 2003 at 04:05:56PM -0500, Ian Lance Taylor wrote:
> So, I wrote a new V3 demangler in C.  This one passes all the
> libiberty tests, modulo a few minor whitespace changes (the whitespace
> is now more like that generated by the libstdc++-v3 demangler written
> in C++).  It also passes the gdb testsuite.
> 
> This demangler also handles a few cases which the libstdc++-v3
> demangler does not currently demangle correctly, such as
>     _Z10hairyfunc5PFPFilEPcE

Huh?  Works fine for me.

~/c++/demangler>c++filt _Z10hairyfunc5PFPFilEPcE 2> /dev/null
hairyfunc5(int (*)(long) (*)(char*))

>     _Z1fILi1ELc120EEv1AIXplT_cviLd810000000000000000703DAD7A370C5EEE

This is an ABI version 1 name containing a double, those are
mangled ambigiously: I cannot demangle it, it would be guessing.
ABI version 2 will be supported soon (see PR13045).  I already
got it working at home:

~/c++/demangler>./c++filt _Z1fILi1ELc120EEv1AIXplT_cviLd3ff3be76c8b43958EEE 2> /dev/null
void f<1, (char)120>(A<(1) + ((int)((double)1.234))>)

-- 
Carlo Wood <carlo@alinoe.com>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]