From: Per Bothner Date: Fri, 19 Feb 1999 14:55:24 +0000 (-0800) Subject: parse.y (obtain_incomplete_type): Don't wrap unknown types in TREE_LIST - just chain... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c60ca7db2a2b90250208144231af8928acaf8adb;p=gcc.git parse.y (obtain_incomplete_type): Don't wrap unknown types in TREE_LIST - just chain the POINTER_TYPEs together. a * parse.y (obtain_incomplete_type): Don't wrap unknown types in TREE_LIST - just chain the POINTER_TYPEs together. (resolve_class): If type already resolved, return decl. After resolving, update TREE_TYPE(class_type), and name (if array). * parse.h (do_resolve_class), parse.y: Make non-static. * class.c (maybe_layout_super_class): Take this_class argument. Do do_resolve_class if necessary. (layout_class, layout_class_methods): Adjust calls appropriately. * parse.h (JDEP_TO_RESOLVE, JDEP_RESOLVED_DECL, JDEP_RESOLVED, JDEP_RESOLVED_P): Redefined for new TREE_LIST-less convention. * typeck.c (build_java_array_type): Don't call layout_class. From-SVN: r25325 --- diff --git a/gcc/java/typeck.c b/gcc/java/typeck.c index 7dab3f251ce..8d99fd82250 100644 --- a/gcc/java/typeck.c +++ b/gcc/java/typeck.c @@ -404,7 +404,12 @@ build_java_array_type (element_type, length) TYPE_ALIGN (t) = TYPE_ALIGN (element_type); pop_obstacks (); - layout_class (t); + /* We could layout_class, but that loads java.lang.Object prematurely. + * This is called by the parser, and it is a bad idea to do load_class + * in the middle of parsing, because of possible circularity problems. */ + push_super_field (t, object_type_node); + layout_type (t); + return t; }