projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* demangle.h (no_demangling): New.
[deliverable/binutils-gdb.git]
/
libiberty
/
cplus-dem.c
diff --git
a/libiberty/cplus-dem.c
b/libiberty/cplus-dem.c
index 31a7555783b839dc9ce07d99a60b4feb99d8e274..a35ff14624e65d58e949c6bb2e8982bbb952e8b5 100644
(file)
--- a/
libiberty/cplus-dem.c
+++ b/
libiberty/cplus-dem.c
@@
-157,9
+157,9
@@
struct work_stuff
static const struct optable
{
static const struct optable
{
- const char *in;
- const char *out;
- int flags;
+ const char *
const
in;
+ const char *
const
out;
+
const
int flags;
} optable[] = {
{"nw", " new", DMGL_ANSI}, /* new (1.92, ansi) */
{"dl", " delete", DMGL_ANSI}, /* new (1.92, ansi) */
} optable[] = {
{"nw", " new", DMGL_ANSI}, /* new (1.92, ansi) */
{"dl", " delete", DMGL_ANSI}, /* new (1.92, ansi) */
@@
-256,8
+256,14
@@
typedef enum type_kind_t
tk_real
} type_kind_t;
tk_real
} type_kind_t;
-struct demangler_engine libiberty_demanglers[] =
+
const
struct demangler_engine libiberty_demanglers[] =
{
{
+ {
+ NO_DEMANGLING_STYLE_STRING,
+ no_demangling,
+ "Demangling disabled"
+ }
+ ,
{
AUTO_DEMANGLING_STYLE_STRING,
auto_demangling,
{
AUTO_DEMANGLING_STYLE_STRING,
auto_demangling,
@@
-847,7
+853,7
@@
enum demangling_styles
cplus_demangle_set_style (style)
enum demangling_styles style;
{
cplus_demangle_set_style (style)
enum demangling_styles style;
{
- struct demangler_engine *demangler = libiberty_demanglers;
+
const
struct demangler_engine *demangler = libiberty_demanglers;
for (; demangler->demangling_style != unknown_demangling; ++demangler)
if (style == demangler->demangling_style)
for (; demangler->demangling_style != unknown_demangling; ++demangler)
if (style == demangler->demangling_style)
@@
-865,7
+871,7
@@
enum demangling_styles
cplus_demangle_name_to_style (name)
const char *name;
{
cplus_demangle_name_to_style (name)
const char *name;
{
- struct demangler_engine *demangler = libiberty_demanglers;
+
const
struct demangler_engine *demangler = libiberty_demanglers;
for (; demangler->demangling_style != unknown_demangling; ++demangler)
if (strcmp (name, demangler->demangling_style_name) == 0)
for (; demangler->demangling_style != unknown_demangling; ++demangler)
if (strcmp (name, demangler->demangling_style_name) == 0)
@@
-877,7
+883,7
@@
cplus_demangle_name_to_style (name)
/* char *cplus_demangle (const char *mangled, int options)
If MANGLED is a mangled function name produced by GNU C++, then
/* char *cplus_demangle (const char *mangled, int options)
If MANGLED is a mangled function name produced by GNU C++, then
- a pointer to a
malloc
ed string giving a C++ representation
+ a pointer to a
@code{malloc}
ed string giving a C++ representation
of the name will be returned; otherwise NULL will be returned.
It is the caller's responsibility to free the string which
is returned.
of the name will be returned; otherwise NULL will be returned.
It is the caller's responsibility to free the string which
is returned.
@@
-909,6
+915,10
@@
cplus_demangle (mangled, options)
{
char *ret;
struct work_stuff work[1];
{
char *ret;
struct work_stuff work[1];
+
+ if (current_demangling_style == no_demangling)
+ return xstrdup (mangled);
+
memset ((char *) work, 0, sizeof (work));
work->options = options;
if ((work->options & DMGL_STYLE_MASK) == 0)
memset ((char *) work, 0, sizeof (work));
work->options = options;
if ((work->options & DMGL_STYLE_MASK) == 0)
@@
-4909,7
+4919,7
@@
static void
print_demangler_list (stream)
FILE *stream;
{
print_demangler_list (stream)
FILE *stream;
{
- struct demangler_engine *demangler;
+
const
struct demangler_engine *demangler;
fprintf (stream, "{%s", libiberty_demanglers->demangling_style_name);
fprintf (stream, "{%s", libiberty_demanglers->demangling_style_name);
This page took
0.02566 seconds
and
4
git commands to generate.