diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2011-06-13 22:34:19 +0000 |
---|---|---|
committer | Jan Kratochvil <jkratoch@gcc.gnu.org> | 2011-06-13 22:34:19 +0000 |
commit | 5fe8e1e9ab22e3da2b54ffaa53eac148676733a7 (patch) | |
tree | 58e4b1a3d20615fe8e402f9ff37465ba7876cd3c | |
parent | f019462c62cdba9ffea92d81e0709cb3bcc05e70 (diff) | |
download | gcc-5fe8e1e9ab22e3da2b54ffaa53eac148676733a7.zip gcc-5fe8e1e9ab22e3da2b54ffaa53eac148676733a7.tar.gz gcc-5fe8e1e9ab22e3da2b54ffaa53eac148676733a7.tar.bz2 |
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
-rw-r--r-- | libiberty/ChangeLog | 6 | ||||
-rw-r--r-- | libiberty/cp-demangle.c | 5 | ||||
-rw-r--r-- | libiberty/testsuite/demangle-expected | 9 |
3 files changed, 19 insertions, 1 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 8e1fa52..0b8977c 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,5 +1,11 @@ 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 not pass DMGL_RET_POSTFIX or DMGL_RET_DROP. Support DMGL_RET_DROP. * testsuite/demangle-expected: New testcases for --ret-drop. diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c index da6d797..3fc5266 100644 --- a/libiberty/cp-demangle.c +++ b/libiberty/cp-demangle.c @@ -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; diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected index 63a3e24..c94eb3c 100644 --- a/libiberty/testsuite/demangle-expected +++ b/libiberty/testsuite/demangle-expected @@ -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)) |