Tree check failures when compiling Classpath
Mark Wielaard
mark@klomp.org
Tue Mar 12 17:39:00 GMT 2002
Hi,
While compiling a recent Classpath with a current gcj (gcc version 3.1
20020312 (prerelease)) I get tree check failures like:
./../java/security/Identity.java:207: tree check: expected class 't',
have 'e' (expr_with_file_location) in unresolved_type_p, at
java/parse.y:5028
Something like the following makes the compile get further along but
this is way over my head.
--- parse.y 2002年03月12日 18:07:32 1.353.2.5
+++ parse.y 2002年03月13日 01:30:53
@@ -5025,10 +5025,18 @@
if (returned)
{
tree decl = IDENTIFIER_CLASS_VALUE (EXPR_WFL_NODE (wfl));
- if (decl && current_class && (decl == TYPE_NAME (current_class)))
+ tree cc = current_class;
+ if (cc && TREE_CODE (cc) == EXPR_WITH_FILE_LOCATION)
+ cc = EXPR_WFL_NODE (cc);
+ if (decl && cc && (decl == TYPE_NAME (current_class)))
*returned = TREE_TYPE (decl);
else if (GET_CPC_UN () == EXPR_WFL_NODE (wfl))
- *returned = TREE_TYPE (GET_CPC ());
+ {
+ if (TREE_CODE (GET_CPC ()) != EXPR_WITH_FILE_LOCATION)
+ *returned = TREE_TYPE (GET_CPC ());
+ else
+ *returned = NULL_TREE;
+ }
else
*returned = NULL_TREE;
}
Is there something really wrong when either current_class or GET_CPC() are
an expr_with_file_location? Should unresolved_type_p return a NULL_TREE
or unwrap the actual tree node? Why doesn't the unresolved_type_p function
have any documentation?
I am getting some sleep now :)
Cheers,
Mark
More information about the Java
mailing list