From 361c3115547239d39d2c4e57c67277d92f1c34a4 Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Sat, 13 Nov 2010 02:20:31 +0000 Subject: [PATCH] merge from gcc --- libiberty/ChangeLog | 7 +++++++ libiberty/cp-demangle.c | 6 ------ libiberty/testsuite/demangle-expected | 9 +++++++-- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 62c60bdc23..8cd4a28568 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,10 @@ +2010-11-12 Ian Lance Taylor + + PR other/46332 + * cp-demangle.c (d_print_function_type): Don't print parentheses + if there are no modifiers to print. + * testsuite/demangle-expected: Tweak one test case, add another. + 2010-11-04 Richard Henderson * configure.ac (AC_CHECK_HEADERS): Add process.h. diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c index 39c8cc0b31..8b0b825099 100644 --- a/libiberty/cp-demangle.c +++ b/libiberty/cp-demangle.c @@ -4546,20 +4546,17 @@ d_print_function_type (struct d_print_info *dpi, struct d_print_mod *mods) { int need_paren; - int saw_mod; int need_space; struct d_print_mod *p; struct d_print_mod *hold_modifiers; need_paren = 0; - saw_mod = 0; need_space = 0; for (p = mods; p != NULL; p = p->next) { if (p->printed) break; - saw_mod = 1; switch (p->mod->type) { case DEMANGLE_COMPONENT_POINTER: @@ -4588,9 +4585,6 @@ d_print_function_type (struct d_print_info *dpi, break; } - if (d_left (dc) != NULL && ! saw_mod) - need_paren = 1; - if (need_paren) { if (! need_space) diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected index 0507ce8665..5b154455a0 100644 --- a/libiberty/testsuite/demangle-expected +++ b/libiberty/testsuite/demangle-expected @@ -3325,8 +3325,13 @@ first # --format=gnu-v3 --no-params _Z3fooIiFvdEiEvv -void foo() -foo +void foo() +foo +# +--format=gnu-v3 --no-params +_Z1fIFvvEEvv +void f() +f # --format=gnu-v3 --no-params _ZN1N1fE