cp-demangle.c (d_print_comp): Suppress d_print_mod for DMGL_RET_POSTFIX.

libiberty/
	* cp-demangle.c (d_print_comp) <DEMANGLE_COMPONENT_FUNCTION_TYPE>:
	Suppress d_print_mod for DMGL_RET_POSTFIX.
	* testsuite/demangle-expected: New testcases for --ret-postfix.

From-SVN: r175001
This commit is contained in:
Jan Kratochvil 2011-06-13 22:34:19 +00:00 committed by Jan Kratochvil
parent f019462c62
commit 5fe8e1e9ab
3 changed files with 19 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2011-06-13 Jan Kratochvil <jan.kratochvil@redhat.com>
* cp-demangle.c (d_print_comp) <DEMANGLE_COMPONENT_FUNCTION_TYPE>:
Suppress d_print_mod for DMGL_RET_POSTFIX.
* testsuite/demangle-expected: New testcases for --ret-postfix.
2011-06-13 Jan Kratochvil <jan.kratochvil@redhat.com>
* cp-demangle.c (d_print_comp) <DEMANGLE_COMPONENT_FUNCTION_TYPE>: Do

View File

@ -3922,7 +3922,10 @@ d_print_comp (struct d_print_info *dpi, int options,
dc, dpi->modifiers);
/* Print return type if present */
if (d_left (dc) != NULL && (options & DMGL_RET_DROP) == 0)
if (d_left (dc) != NULL && (options & DMGL_RET_POSTFIX) != 0)
d_print_comp (dpi, options & ~(DMGL_RET_POSTFIX | DMGL_RET_DROP),
d_left (dc));
else if (d_left (dc) != NULL && (options & DMGL_RET_DROP) == 0)
{
struct d_print_mod dpm;

View File

@ -3968,6 +3968,15 @@ outer(short (*)(int), long)
--format=gnu-v3
_Z6outer2IsEPFilES1_
int (*outer2<short>(int (*)(long)))(long)
--format=gnu-v3 --ret-postfix
_Z5outerIsEcPFilE
outer<short>(int (*)(long))char
--format=gnu-v3 --ret-postfix
_Z5outerPFsiEl
outer(short (*)(int), long)
--format=gnu-v3 --ret-postfix
_Z6outer2IsEPFilES1_
outer2<short>(int (*)(long))int (*)(long)
--format=gnu-v3 --ret-drop
_Z5outerIsEcPFilE
outer<short>(int (*)(long))