From: DJ Delorie Date: Sat, 13 Nov 2010 02:20:31 +0000 (+0000) Subject: merge from gcc X-Git-Tag: cgen-snapshot-20101201~149 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=361c3115547239d39d2c4e57c67277d92f1c34a4;p=thirdparty%2Fbinutils-gdb.git merge from gcc --- diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 62c60bdc23b..8cd4a285684 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 39c8cc0b310..8b0b825099e 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 0507ce86651..5b154455a01 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