diff options
author | Mark Mitchell <mark@codesourcery.com> | 2003-11-20 01:48:41 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2003-11-20 01:48:41 +0000 |
commit | 6df5a5c72a98bd1a6c0ddbfd342e233ef7840f72 (patch) | |
tree | 1cac6779cd15d92795c4dc7d9a1e27374106f0e7 /libiberty | |
parent | 3d4f0dab0968a64820b83130b126bad22aa2ed2b (diff) | |
download | gcc-6df5a5c72a98bd1a6c0ddbfd342e233ef7840f72.zip gcc-6df5a5c72a98bd1a6c0ddbfd342e233ef7840f72.tar.gz gcc-6df5a5c72a98bd1a6c0ddbfd342e233ef7840f72.tar.bz2 |
cp-demangle.c (demangle_type): Correct thinko in substitution processing.
* cp-demangle.c (demangle_type): Correct thinko in substitution
processing.
From-SVN: r73751
Diffstat (limited to 'libiberty')
-rw-r--r-- | libiberty/ChangeLog | 5 | ||||
-rw-r--r-- | libiberty/cp-demangle.c | 8 |
2 files changed, 10 insertions, 3 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index fe871ff..c81fb84 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,8 @@ +2003-11-19 Mark Mitchell <mark@codesourcery.com> + + * cp-demangle.c (demangle_type): Correct thinko in substitution + processing. + 2003-11-18 Ian Lance Taylor <ian@wasabisystems.com> * cp-demangle.c (demangle_operator_name): Remove space before 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)); |