new demangler

Ian Lance Taylor ian@wasabisystems.com
Mon Dec 15 23:10:00 GMT 2003


David Carlton <carlton@kealia.com> writes:

> Hmm.  I don't have a CVS binutils tree around, but I get, with GDB
> from current CVS:
> 
> (gdb) maint demangle _ZN1C6CClassaSERKS0_
> Can't demangle "_ZN1C6CClassaSERKS0_"
> 
> So either we're using different demanglers or else there's something
> strange about maint demangle/class_name_from_physname.  Either of
> which is possible - nobody other than me uses class_name_from_physname
> regularly, after all, and maint demangle is only a maint command.

`maint demangle' only works for me when I explicitly run gdb on a C++
program.  When I do specify a C++ program, it appears to work
correctly.

Otherwise, I see that maintenance_demangle() calls
language_demangle().  When I try running gdb without an explicit C++
program, either current_language is NULL or
current_language->la_demangle is NULL, so language_demangle returns
NULL.

Ian



More information about the Gdb mailing list