cp-demangle.c (d_print_function_type): Print the function parameters with no modifiers.

* cp-demangle.c (d_print_function_type): Print the function
	parameters with no modifiers.
	* testsuite/demangle-expected: Add test case.

From-SVN: r74652
This commit is contained in:
Ian Lance Taylor 2003-12-15 23:29:31 +00:00 committed by Ian Lance Taylor
parent 8d686df280
commit cbc278f440
3 changed files with 17 additions and 1 deletions

View File

@ -1,5 +1,9 @@
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

View File

@ -3396,7 +3396,14 @@ d_print_function_type (dpi, dc, mods)
d_append_char (dpi, '(');
if (d_right (dc) != NULL)
d_print_comp (dpi, d_right (dc));
{
struct d_print_mod *hold_modifiers;
hold_modifiers = dpi->modifiers;
dpi->modifiers = NULL;
d_print_comp (dpi, d_right (dc));
dpi->modifiers = hold_modifiers;
}
d_append_char (dpi, ')');

View File

@ -2916,6 +2916,11 @@ void f<-1>()
_ZNSdD0Ev
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 is generated by an EDG compiler (kcc 4.0). To demangle it