From: John L. <mov...@us...> - 2002-06-04 17:10:41
|
Update of /cvsroot/oprofile/oprofile/libutil++ In directory usw-pr-cvs1:/tmp/cvs-serv32411/libutil++ Modified Files: Makefile.in Added Files: demangle_symbol.cpp demangle_symbol.h Log Message: move demangle_symbol --- NEW FILE: demangle_symbol.cpp --- /** * @file demangle_symbol.cpp * Demangle a C++ symbol * * @remark Copyright 2002 OProfile authors * @remark Read the file COPYING * * @author John Levon <mo...@co...> */ #include "demangle_symbol.h" // from libiberty /*@{\name demangle option parameter */ #ifndef DMGL_PARAMS # define DMGL_PARAMS (1 << 0) /**< Include function args */ #endif #ifndef DMGL_ANSI # define DMGL_ANSI (1 << 1) /**< Include const, volatile, etc */ #endif /*@}*/ extern "C" char * cplus_demangle(char const * mangled, int options); using std::string; string const demangle_symbol(string const & name) { // Do not try to strip leading underscore, this leads to many // C++ demangling failures. char * unmangled = cplus_demangle(name.c_str(), DMGL_PARAMS | DMGL_ANSI); if (!unmangled) return name; string const result(unmangled); free(unmangled); return result; } --- NEW FILE: demangle_symbol.h --- /** * @file demangle_symbol.h * Demangle a C++ symbol * * @remark Copyright 2002 OProfile authors * @remark Read the file COPYING * * @author John Levon <mo...@co...> */ #ifndef DEMANGLE_SYMBOL_H #define DEMANGLE_SYMBOL_H #include <string> /** * demangle_symbol - demangle a symbol * @param name the mangled symbol name * @return the demangled name * * Demangle the symbol name, if the global * variable demangle is true. * * The demangled name lists the parameters and type * qualifiers such as "const". */ std::string const demangle_symbol(std::string const & name); #endif // DEMANGLE_SYMBOL_H Index: Makefile.in =================================================================== RCS file: /cvsroot/oprofile/oprofile/libutil++/Makefile.in,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Makefile.in 8 May 2002 16:58:45 -0000 1.2 +++ Makefile.in 4 Jun 2002 17:10:36 -0000 1.3 @@ -1,10 +1,10 @@ include ../make.common -HEADERS=child_reader.h file_manip.h string_manip.h filename_match.h +HEADERS=child_reader.h file_manip.h string_manip.h filename_match.h demangle_symbol.h -SOURCES=child_reader.cpp file_manip.cpp string_manip.cpp filename_match.cpp +SOURCES=child_reader.cpp file_manip.cpp string_manip.cpp filename_match.cpp demangle_symbol.cpp -OBJECTS=child_reader.o file_manip.o string_manip.o filename_match.o +OBJECTS=child_reader.o file_manip.o string_manip.o filename_match.o demangle_symbol.o TARGET=libutil++.a |