binutils-2.26

git-svn-id: svn://kolibrios.org@6324 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Sergey Semyonov (Serge)
2016-03-12 03:07:23 +00:00
parent d818239c29
commit 3b53803119
572 changed files with 128744 additions and 64154 deletions

View File

@@ -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')
{