aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/class.c
diff options
context:
space:
mode:
authorAlexandre Petit-Bianco <apbianco@cygnus.com>1999-03-19 12:56:16 +0000
committerAlexandre Petit-Bianco <apbianco@gcc.gnu.org>1999-03-19 04:56:16 -0800
commit1982388a57dbdb1e7b38c77f0aeca61ba02c60b0 (patch)
treee12187cefe329f846025ee7fa24351f8bacc32b8 /gcc/java/class.c
parent8db99db275183d379d0b6f2cd80942f6f5f5b4b2 (diff)
downloadgcc-1982388a57dbdb1e7b38c77f0aeca61ba02c60b0.zip
gcc-1982388a57dbdb1e7b38c77f0aeca61ba02c60b0.tar.gz
gcc-1982388a57dbdb1e7b38c77f0aeca61ba02c60b0.tar.bz2
[multiple changes]
1999-03-19 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (find_applicable_accessible_methods_list): Extend the search to superinterfaces when relevant. (search_applicable_methods_list): New function. 1999-03-18 Alexandre Petit-Bianco <apbianco@cygnus.com> * class.c (unmangle_classname): Implemented stricter testing before setting the QUALIFIED_P flag on an identifier. From-SVN: r25861
Diffstat (limited to 'gcc/java/class.c')
-rw-r--r--gcc/java/class.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/gcc/java/class.c b/gcc/java/class.c
index 1ab753a..53ccf3e 100644
--- a/gcc/java/class.c
+++ b/gcc/java/class.c
@@ -142,8 +142,18 @@ unmangle_classname (name, name_length)
const char *name; int name_length;
{
tree to_return = ident_subst (name, name_length, "", '/', '.', "");
- if (to_return != get_identifier ((char *)name))
- QUALIFIED_P (to_return) = 1;
+ /* It's not sufficient to compare to_return and get_identifier
+ (name) to determine whether to_return is qualified. There are
+ cases in signature analysis where name will be stripped of a
+ trailing ';'. */
+ name = IDENTIFIER_POINTER (to_return);
+ while (*name)
+ if (*name++ == '.')
+ {
+ QUALIFIED_P (to_return) = 1;
+ break;
+ }
+
return to_return;
}