diff options
author | DJ Delorie <dj@redhat.com> | 2009-01-07 18:52:57 +0000 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2009-01-07 18:52:57 +0000 |
commit | 60cf58f5cfcd9fdb9671d6e73071bbe4f0496c44 (patch) | |
tree | f2bb067f481690caed31ff3d928fdd25648b8ed0 /libiberty | |
parent | 19fc37235f75095174fe9d679e94b686b9c8ee9f (diff) | |
download | binutils-60cf58f5cfcd9fdb9671d6e73071bbe4f0496c44.zip binutils-60cf58f5cfcd9fdb9671d6e73071bbe4f0496c44.tar.gz binutils-60cf58f5cfcd9fdb9671d6e73071bbe4f0496c44.tar.bz2 |
merge from gcc
Diffstat (limited to 'libiberty')
-rw-r--r-- | libiberty/ChangeLog | 9 | ||||
-rw-r--r-- | libiberty/cp-demangle.c | 17 |
2 files changed, 14 insertions, 12 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index f46fe05..b9cb199 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,12 @@ +2009-01-07 Jason Merrill <jason@redhat.com> + + * cp-demangle.c (d_expression): Remove mangling for zero-op casts. + +2009-01-06 Ben Elliston <bje@au.ibm.com> + + * cp-demangle.c (cplus_demangle_type): Return NULL if the + character following a 'D' cannot be recognised. + 2008-12-18 Jason Merrill <jason@redhat.com> PR c++/38561 diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c index 5ae04c0..0b4e05c 100644 --- a/libiberty/cp-demangle.c +++ b/libiberty/cp-demangle.c @@ -2131,6 +2131,9 @@ cplus_demangle_type (struct d_info *di) peek = d_next_char (di); ret->u.s_fixed.sat = (peek == 's'); break; + + default: + return NULL; } break; @@ -2609,12 +2612,7 @@ d_expression (struct d_info *di) args = op->u.s_extended_operator.args; break; case DEMANGLE_COMPONENT_CAST: - if (d_peek_char (di) == 'v') - /* T() encoded as an operand of void. */ - return d_make_comp (di, DEMANGLE_COMPONENT_UNARY, op, - cplus_demangle_type (di)); - else - args = 1; + args = 1; break; } @@ -3807,12 +3805,7 @@ d_print_comp (struct d_print_info *dpi, d_print_cast (dpi, d_left (dc)); d_append_char (dpi, ')'); } - if (d_left (dc)->type == DEMANGLE_COMPONENT_CAST - && d_right (dc)->type == DEMANGLE_COMPONENT_BUILTIN_TYPE) - /* type() -- FIXME what about type(multiple,args) */ - d_append_string (dpi, "()"); - else - d_print_subexpr (dpi, d_right (dc)); + d_print_subexpr (dpi, d_right (dc)); return; case DEMANGLE_COMPONENT_BINARY: |