forked from KolibriOS/kolibrios
binutils-2.26
git-svn-id: svn://kolibrios.org@6324 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -305,6 +305,12 @@ const struct demangler_engine libiberty_demanglers[] =
|
||||
"GNAT style demangling"
|
||||
}
|
||||
,
|
||||
{
|
||||
DLANG_DEMANGLING_STYLE_STRING,
|
||||
dlang_demangling,
|
||||
"DLANG style demangling"
|
||||
}
|
||||
,
|
||||
{
|
||||
NULL, unknown_demangling, NULL
|
||||
}
|
||||
@@ -870,6 +876,13 @@ cplus_demangle (const char *mangled, int options)
|
||||
if (GNAT_DEMANGLING)
|
||||
return ada_demangle (mangled, options);
|
||||
|
||||
if (DLANG_DEMANGLING)
|
||||
{
|
||||
ret = dlang_demangle (mangled, options);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = internal_cplus_demangle (work, mangled);
|
||||
squangle_mop_up (work);
|
||||
return (ret);
|
||||
@@ -1175,6 +1188,11 @@ internal_cplus_demangle (struct work_stuff *work, const char *mangled)
|
||||
if ((AUTO_DEMANGLING || GNU_DEMANGLING))
|
||||
{
|
||||
success = gnu_special (work, &mangled, &decl);
|
||||
if (!success)
|
||||
{
|
||||
delete_work_stuff (work);
|
||||
string_delete (&decl);
|
||||
}
|
||||
}
|
||||
if (!success)
|
||||
{
|
||||
@@ -1218,10 +1236,12 @@ squangle_mop_up (struct work_stuff *work)
|
||||
if (work -> btypevec != NULL)
|
||||
{
|
||||
free ((char *) work -> btypevec);
|
||||
work->btypevec = NULL;
|
||||
}
|
||||
if (work -> ktypevec != NULL)
|
||||
{
|
||||
free ((char *) work -> ktypevec);
|
||||
work->ktypevec = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3656,7 +3676,10 @@ do_type (struct work_stuff *work, const char **mangled, string *result)
|
||||
string_delete (&temp);
|
||||
}
|
||||
else
|
||||
{
|
||||
string_delete (&temp);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (**mangled == 'Q')
|
||||
{
|
||||
|
Reference in New Issue
Block a user