aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/parse.y
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-05-13 10:41:17 -0700
committerRichard Henderson <rth@gcc.gnu.org>2003-05-13 10:41:17 -0700
commit3bec3c0c9cadc98f39f7072cb77a1c1b90ada59b (patch)
treef41491186a8687f01af5f4a1ce70623ea8fd50cb /gcc/java/parse.y
parenta65cddcf3959175275b11b9caedbe71a5d25ebe5 (diff)
downloadgcc-3bec3c0c9cadc98f39f7072cb77a1c1b90ada59b.zip
gcc-3bec3c0c9cadc98f39f7072cb77a1c1b90ada59b.tar.gz
gcc-3bec3c0c9cadc98f39f7072cb77a1c1b90ada59b.tar.bz2
class.c (layout_class_method): Set DECL_EXTERNAL.
* class.c (layout_class_method): Set DECL_EXTERNAL. * decl.c (java_mark_decl_local, java_mark_class_local): New. * java-tree.h (java_mark_class_local): Declare. * jcf-parse.c (parse_class_file): Use it. * parse.y (java_expand_classes): Likewise. From-SVN: r66768
Diffstat (limited to 'gcc/java/parse.y')
-rw-r--r--gcc/java/parse.y12
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. */