From: Joel Dice Date: Tue, 20 Oct 2009 16:01:21 +0000 (+0000) Subject: re PR java/28474 (mangle_name.c mangles names unecessarily) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5a3a8eb12ea8fa102cfbdbd2429fc119a41f5904;p=gcc.git re PR java/28474 (mangle_name.c mangles names unecessarily) 2009-10-20 Joel Dice 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 --- diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 6ce9d58b0e0..7815bc8a050 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,10 @@ +2009-10-20 Joel Dice + + PR java/28474 + * mangle_name.c (append_unicode_mangled_name): Fix mangling + of names with multiple underscores and "U". + (unicode_mangling_length): Likewise. + 2009-10-03 Simon Baldwin * config-lang.in (lang_dirs): Remove zlib. diff --git a/gcc/java/mangle_name.c b/gcc/java/mangle_name.c index a0e6887a04e..a75f5cad090 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 {