diff options
author | DJ Delorie <dj@redhat.com> | 2001-08-09 00:05:37 +0000 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2001-08-09 00:05:37 +0000 |
commit | e7e9b069361c646b807af955a8a074dff5aed808 (patch) | |
tree | 6cfca2e7d0c736b4322ee1a54aadc90f6e88b645 /libiberty | |
parent | f45d83bbaabdeaa3104360a13d95d80c0f61c2d4 (diff) | |
download | gdb-e7e9b069361c646b807af955a8a074dff5aed808.zip gdb-e7e9b069361c646b807af955a8a074dff5aed808.tar.gz gdb-e7e9b069361c646b807af955a8a074dff5aed808.tar.bz2 |
merge from gcc
Diffstat (limited to 'libiberty')
-rw-r--r-- | libiberty/ChangeLog | 5 | ||||
-rw-r--r-- | libiberty/cp-demangle.c | 24 |
2 files changed, 25 insertions, 4 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 0bd81a6..c3fdb22 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,8 @@ +2001-08-07 Jason Merrill <jason_merrill@redhat.com> + + * cp-demangle.c (demangle_special_name): "GR" -> "reference temporary + for". + 2001-08-03 Richard Henderson <rth@redhat.com> * Makefile.in (concat.o): Depend on config.h. diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c index a6a2c1e..5ee8a2b 100644 --- a/libiberty/cp-demangle.c +++ b/libiberty/cp-demangle.c @@ -1842,11 +1842,27 @@ demangle_special_name (dm) if (peek == 'G') { - /* A guard variable name. Consume the G. */ + /* Consume the G. */ advance_char (dm); - RETURN_IF_ERROR (demangle_char (dm, 'V')); - RETURN_IF_ERROR (result_add (dm, "guard variable for ")); - RETURN_IF_ERROR (demangle_name (dm, &unused)); + switch (peek_char (dm)) + { + case 'V': + /* A guard variable name. */ + advance_char (dm); + RETURN_IF_ERROR (result_add (dm, "guard variable for ")); + RETURN_IF_ERROR (demangle_name (dm, &unused)); + break; + + case 'R': + /* A reference temporary. */ + advance_char (dm); + RETURN_IF_ERROR (result_add (dm, "reference temporary for ")); + RETURN_IF_ERROR (demangle_name (dm, &unused)); + break; + + default: + return "Unrecognized <special-name>."; + } } else if (peek == 'T') { |