diff options
author | DJ Delorie <dj@redhat.com> | 2003-11-20 02:01:32 +0000 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2003-11-20 02:01:32 +0000 |
commit | dd9d4b48fdbaaa23f7af0acdeb40f0c9fd618de6 (patch) | |
tree | 0a347a621ed695d1665dfac362c6b626d664a273 /libiberty/cp-demangle.c | |
parent | 43b5c447a2c35e87e6935e02435d2ddf8a5c6a2d (diff) | |
download | gdb-dd9d4b48fdbaaa23f7af0acdeb40f0c9fd618de6.zip gdb-dd9d4b48fdbaaa23f7af0acdeb40f0c9fd618de6.tar.gz gdb-dd9d4b48fdbaaa23f7af0acdeb40f0c9fd618de6.tar.bz2 |
merge from gcc
Diffstat (limited to 'libiberty/cp-demangle.c')
-rw-r--r-- | libiberty/cp-demangle.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c index a707a83..8caa733 100644 --- a/libiberty/cp-demangle.c +++ b/libiberty/cp-demangle.c @@ -2557,10 +2557,12 @@ demangle_type (dm) case 'S': /* First check if this is a special substitution. If it is, this is a <class-enum-type>. Special substitutions have a - letter following the `S'; other substitutions have a digit - or underscore. */ + lower-case letter following the `S'; other substitutions + have a digit, upper-case letter, or underscore. */ peek_next = peek_char_next (dm); - if (IS_DIGIT (peek_next) || peek_next == '_') + if (IS_DIGIT (peek_next) + || (peek_next >= 'A' && peek_next <= 'Z') + || peek_next == '_') { RETURN_IF_ERROR (demangle_substitution (dm, &encode_return_type)); |