merge from gcc
This commit is contained in:
parent
ab4f2b471a
commit
d35d0cd43c
|
@ -1,3 +1,14 @@
|
||||||
|
2003-12-15 Ian Lance Taylor <ian@wasabisystems.com>
|
||||||
|
|
||||||
|
* cp-demangle.c (d_print_function_type): Print the function
|
||||||
|
parameters with no modifiers.
|
||||||
|
* testsuite/demangle-expected: Add test case.
|
||||||
|
|
||||||
|
* cp-demangle.c (d_demangle): If DMGL_PARAMS is not set, don't
|
||||||
|
expect that we've read the entire string.
|
||||||
|
(is_ctor_or_dtor): Don't expect that we've read the entire
|
||||||
|
string--reverse patch of 2003-11-29.
|
||||||
|
|
||||||
2003-12-15 Brendan Kehoe <brendan@zen.org>
|
2003-12-15 Brendan Kehoe <brendan@zen.org>
|
||||||
|
|
||||||
* libiberty/Makefile.in (floatformat.o): Add dependency on
|
* libiberty/Makefile.in (floatformat.o): Add dependency on
|
||||||
|
|
|
@ -3396,7 +3396,14 @@ d_print_function_type (dpi, dc, mods)
|
||||||
d_append_char (dpi, '(');
|
d_append_char (dpi, '(');
|
||||||
|
|
||||||
if (d_right (dc) != NULL)
|
if (d_right (dc) != NULL)
|
||||||
|
{
|
||||||
|
struct d_print_mod *hold_modifiers;
|
||||||
|
|
||||||
|
hold_modifiers = dpi->modifiers;
|
||||||
|
dpi->modifiers = NULL;
|
||||||
d_print_comp (dpi, d_right (dc));
|
d_print_comp (dpi, d_right (dc));
|
||||||
|
dpi->modifiers = hold_modifiers;
|
||||||
|
}
|
||||||
|
|
||||||
d_append_char (dpi, ')');
|
d_append_char (dpi, ')');
|
||||||
|
|
||||||
|
@ -3622,9 +3629,11 @@ d_demangle (mangled, options, palc)
|
||||||
else
|
else
|
||||||
dc = d_type (&di);
|
dc = d_type (&di);
|
||||||
|
|
||||||
/* If we didn't consume the entire mangled string, then we didn't
|
/* If DMGL_PARAMS is set, then if we didn't consume the entire
|
||||||
successfully demangle it. */
|
mangled string, then we didn't successfully demangle it. If
|
||||||
if (d_peek_char (&di) != '\0')
|
DMGL_PARAMS is not set, we didn't look at the trailing
|
||||||
|
parameters. */
|
||||||
|
if (((options & DMGL_PARAMS) != 0) && d_peek_char (&di) != '\0')
|
||||||
dc = NULL;
|
dc = NULL;
|
||||||
|
|
||||||
#ifdef CP_DEMANGLE_DEBUG
|
#ifdef CP_DEMANGLE_DEBUG
|
||||||
|
@ -3829,9 +3838,10 @@ is_ctor_or_dtor (mangled, ctor_kind, dtor_kind)
|
||||||
|
|
||||||
dc = d_mangled_name (&di, 1);
|
dc = d_mangled_name (&di, 1);
|
||||||
|
|
||||||
|
/* Note that because we did not pass DMGL_PARAMS, we don't expect to
|
||||||
|
demangle the entire string. */
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
if (d_peek_char (&di) == '\0')
|
|
||||||
{
|
|
||||||
while (dc != NULL)
|
while (dc != NULL)
|
||||||
{
|
{
|
||||||
switch (dc->type)
|
switch (dc->type)
|
||||||
|
@ -3861,7 +3871,6 @@ is_ctor_or_dtor (mangled, ctor_kind, dtor_kind)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
free (di.subs);
|
free (di.subs);
|
||||||
free (di.comps);
|
free (di.comps);
|
||||||
|
|
|
@ -2916,6 +2916,11 @@ void f<-1>()
|
||||||
_ZNSdD0Ev
|
_ZNSdD0Ev
|
||||||
std::basic_iostream<char, std::char_traits<char> >::~basic_iostream()
|
std::basic_iostream<char, std::char_traits<char> >::~basic_iostream()
|
||||||
#
|
#
|
||||||
|
# Another case where we got member function qualifiers wrong.
|
||||||
|
--format=gnu-v3
|
||||||
|
_ZNK15nsBaseHashtableI15nsUint32HashKey8nsCOMPtrI4IFooEPS2_E13EnumerateReadEPF15PLDHashOperatorRKjS4_PvES9_
|
||||||
|
nsBaseHashtable<nsUint32HashKey, nsCOMPtr<IFoo>, IFoo*>::EnumerateRead(PLDHashOperator (*)(unsigned int const&, IFoo*, void*), void*) const
|
||||||
|
#
|
||||||
# This caused an infinite loop.
|
# This caused an infinite loop.
|
||||||
#
|
#
|
||||||
# This is generated by an EDG compiler (kcc 4.0). To demangle it
|
# This is generated by an EDG compiler (kcc 4.0). To demangle it
|
||||||
|
|
Loading…
Reference in New Issue