diff options
Diffstat (limited to 'gcc/java/parse.y')
-rw-r--r-- | gcc/java/parse.y | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 49fbc91..6dd9174 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -8977,21 +8977,15 @@ java_expand_classes (void) /* Now things are stable, go for generation of the class data. */ - /* We pessimistically marked all fields external until we knew - what set of classes we were planning to compile. Now mark + /* We pessimistically marked all methods and fields external until + we knew what set of classes we were planning to compile. Now mark those that will be generated locally as not external. */ for (cur_ctxp = ctxp_for_generation; cur_ctxp; cur_ctxp = cur_ctxp->next) { tree current; ctxp = cur_ctxp; for (current = ctxp->class_list; current; current = TREE_CHAIN (current)) - { - tree class = TREE_TYPE (current); - tree field; - for (field = TYPE_FIELDS (class); field ; field = TREE_CHAIN (field)) - if (FIELD_STATIC (field)) - DECL_EXTERNAL (field) = 0; - } + java_mark_class_local (TREE_TYPE (current)); } /* Compile the classes. */ |