This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PR java/28474: mangle_name.c mangles names unecessarily
- From: Andrew Haley <aph at redhat dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Cc: Java Patches <java-patches at gcc dot gnu dot org>
- Date: Tue, 20 Oct 2009 17:00:39 +0100
- Subject: PR java/28474: mangle_name.c mangles names unecessarily
- References: <4AD846B0.2080102@rawbw.com> <4ADAE903.2010009@redhat.com> <bf0c3b3f0910190542v19c99f45yb2d5f97127de31f3@mail.gmail.com> <4ADC6302.9010809@redhat.com> <bf0c3b3f0910190606q26681634i13fd2d2273149aa3@mail.gmail.com> <4ADC6531.5000504@redhat.com> <bf0c3b3f0910190624h5b5ee0ao1b4796668aee11a8@mail.gmail.com> <4ADC8DC5.3000204@redhat.com> <alpine.DEB.1.10.0910191355210.13499@jdpc.ecovate.com> <4ADD8263.1070105@redhat.com> <alpine.DEB.1.10.0910200750090.13499@jdpc.ecovate.com> <4ADDC667.2050401@redhat.com> <alpine.DEB.1.10.0910200835001.24575@jdpc.ecovate.com> <alpine.DEB.1.10.0910200858290.24575@jdpc.ecovate.com>
Committed on behalf of Joel.
Andrew.
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.
Index: java/mangle_name.c
===================================================================
--- java/mangle_name.c (revision 153017)
+++ java/mangle_name.c (working copy)
@@ -266,7 +266,10 @@ append_unicode_mangled_name (const char
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 *nam
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
{