diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 0a474a31d9053b00738292e95bdaf1e8da2a16b8..b84863200a7d78706f256c6b689f4476d7713bc5 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,8 @@ +2000-09-04 Alex Samuel <samuel@codesourcery.com> + + * cp-demangle.c (demangle_type_ptr): Increment position past + pointer and reference characters. + 2000-09-04 Alex Samuel <samuel@codesourcery.com> * cp-demangle.c (demangle_nv_offset): New function. diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c index b4e55ee05972cbb8f9d7266b370d9c6e658c73bd..2407c2bdfde6d1bc4b8eb84dceb7353b6afc3347 100644 --- a/libiberty/cp-demangle.c +++ b/libiberty/cp-demangle.c @@ -2015,6 +2015,9 @@ demangle_type_ptr (dm, insert_pos, substitution_start) /* Insert an asterisk where we're told to; it doesn't necessarily go at the end. */ RETURN_IF_ERROR (result_insert_char (dm, *insert_pos, '*')); + /* The next (outermost) pointer or reference character should go + after this one. */ + ++(*insert_pos); } else if (next == 'R') { @@ -2026,6 +2029,9 @@ demangle_type_ptr (dm, insert_pos, substitution_start) /* Insert an ampersand where we're told to; it doesn't necessarily go at the end. */ RETURN_IF_ERROR (result_insert_char (dm, *insert_pos, '&')); + /* The next (outermost) pointer or reference character should go + after this one. */ + ++(*insert_pos); } else if (next == 'M') {