This is the mail archive of the
java-prs@sourceware.cygnus.com
mailing list for the Java project.
Re: gcj/172
- To: apbianco at cygnus dot com
- Subject: Re: gcj/172
- From: Alexandre Petit-Bianco <apbianco at cygnus dot com>
- Date: 16 Mar 2000 01:00:00 -0000
- Cc: java-prs at sourceware dot cygnus dot com,
- Reply-To: Alexandre Petit-Bianco <apbianco at cygnus dot com>
The following reply was made to PR gcj/172; it has been noted by GNATS.
From: Alexandre Petit-Bianco <apbianco@cygnus.com>
To: java-gnats@sourceware.cygnus.com
Cc:
Subject: Re: gcj/172
Date: Wed, 15 Mar 2000 16:59:26 -0800 (PST)
Bryce McKinlay writes:
> And here's another, although I'm guessing this might be a seperate issue:
Yes, I'm going to file a PR for this one. With the revised patch to
fix InnerConstructor2.java, you run into the same problem. I need to
reorder the list which tells how innerclasses are expanded...
By the way, here's the revised patch to fix InnerConstructor2.java+172+174+176.
./A
2000-03-15 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (register_incomplete_type): JDEP_ENCLOSING set
depending on the type of dependency which dictates what the
current class is.
(unresolved_type_p): Resolved types limited to the current class.
Index: parse.y
===================================================================
RCS file: /cvs/gcc/egcs/gcc/java/parse.y,v
retrieving revision 1.145
diff -u -p -r1.145 parse.y
--- parse.y 2000/03/15 09:30:39 1.145
+++ parse.y 2000/03/16 00:52:11
@@ -4702,9 +4702,16 @@ unresolved_type_p (wfl, returned)
{
if (TREE_CODE (wfl) == EXPR_WITH_FILE_LOCATION)
{
- tree decl = IDENTIFIER_CLASS_VALUE (EXPR_WFL_NODE (wfl));
if (returned)
- *returned = (decl ? TREE_TYPE (decl) : NULL_TREE);
+ {
+ tree decl = IDENTIFIER_CLASS_VALUE (EXPR_WFL_NODE (wfl));
+ if (decl && current_class && (decl == TYPE_NAME (current_class)))
+ *returned = TREE_TYPE (decl);
+ else if (GET_CPC_UN () == EXPR_WFL_NODE (wfl))
+ *returned = TREE_TYPE (GET_CPC ());
+ else
+ *returned = NULL_TREE;
+ }
return 1;
}
if (returned)
@@ -4883,7 +4890,10 @@ register_incomplete_type (kind, wfl, dec
JDEP_WFL (new) = wfl;
JDEP_CHAIN (new) = NULL;
JDEP_MISC (new) = NULL_TREE;
- if(!(JDEP_ENCLOSING (new) = GET_ENCLOSING_CPC_CONTEXT ()))
+ if ((kind == JDEP_SUPER || kind == JDEP_INTERFACE)
+ && GET_ENCLOSING_CPC ())
+ JDEP_ENCLOSING (new) = TREE_VALUE (GET_ENCLOSING_CPC ());
+ else
JDEP_ENCLOSING (new) = GET_CPC ();
JDEP_GET_PATCH (new) = (tree *)NULL;