This is the mail archive of the java-prs@sourceware.cygnus.com mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: gcj/172


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;
  

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]