diff options
author | Joel Dice <dicej@mailsnare.net> | 2009-10-20 16:01:21 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 2009-10-20 16:01:21 +0000 |
commit | 5a3a8eb12ea8fa102cfbdbd2429fc119a41f5904 (patch) | |
tree | 91b9f4244278d77eb5b23593a3d0f4ca4015ff76 /gcc/java/mangle_name.c | |
parent | a30f893635475a17a11e58861c472df04c63a90f (diff) | |
download | gcc-5a3a8eb12ea8fa102cfbdbd2429fc119a41f5904.zip gcc-5a3a8eb12ea8fa102cfbdbd2429fc119a41f5904.tar.gz gcc-5a3a8eb12ea8fa102cfbdbd2429fc119a41f5904.tar.bz2 |
re PR java/28474 (mangle_name.c mangles names unecessarily)
2009-10-20 Joel Dice <dicej@mailsnare.net>
PR java/28474
* mangle_name.c (append_unicode_mangled_name): Fix mangling
of names with multiple underscores and "U".
(unicode_mangling_length): Likewise.
From-SVN: r153021
Diffstat (limited to 'gcc/java/mangle_name.c')
-rw-r--r-- | gcc/java/mangle_name.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/java/mangle_name.c b/gcc/java/mangle_name.c index a0e6887..a75f5ca 100644 --- a/gcc/java/mangle_name.c +++ b/gcc/java/mangle_name.c @@ -266,7 +266,10 @@ append_unicode_mangled_name (const char *name, int len) int ch = UTF8_GET(ptr, limit); if ((ISALNUM (ch) && ch != 'U') || ch == '$') - obstack_1grow (mangle_obstack, ch); + { + obstack_1grow (mangle_obstack, ch); + uuU = 0; + } /* Everything else needs encoding */ else { @@ -321,7 +324,10 @@ unicode_mangling_length (const char *name, int len) if (ch < 0) error ("internal error - invalid Utf8 name"); if ((ISALNUM (ch) && ch != 'U') || ch == '$') - num_chars++; + { + num_chars++; + uuU = 0; + } /* Everything else needs encoding */ else { |