summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-19 22:00:29 +0000
committerbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-19 22:00:29 +0000
commit7c779a81903f7e29653760f4d50f21221772d7b2 (patch)
tree46a67acfc854db09ad9b1b75802c49be347dbb7e /gcc
parentcb18c57217fe0631c7f0424508949a974d866681 (diff)
downloadgcc-7c779a81903f7e29653760f4d50f21221772d7b2.tar.gz
* jcf-parse.c (load_inner_classes): Check CLASS_LOADED_P
before trying to load an inner class. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40638 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/java/ChangeLog3
-rw-r--r--gcc/java/jcf-parse.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 77f98ca210d..2a96eb553f6 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,5 +1,8 @@
2001-03-19 Per Bothner <per@bothner.com>
+ * jcf-parse.c (load_inner_classes): Check CLASS_LOADED_P
+ before trying to load an inner class.
+
Fixes to process to command-line .class files in two passes.
* java-tree.h (JAVA_FILE_P, CLASS_FILE_P, ZIP_FILE_P): New flags.
(CLASS_FROM_CURRENTLY_COMPILED_SOURCE_P): Rename to ..
diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c
index 84f268878cb..4dff49bcfc7 100644
--- a/gcc/java/jcf-parse.c
+++ b/gcc/java/jcf-parse.c
@@ -728,7 +728,8 @@ load_inner_classes (cur_class)
{
tree name = DECL_NAME (TREE_PURPOSE (current));
tree decl = IDENTIFIER_GLOBAL_VALUE (name);
- if (decl && !CLASS_BEING_LAIDOUT (TREE_TYPE (decl)))
+ if (decl && ! CLASS_LOADED_P (TREE_TYPE (decl))
+ && !CLASS_BEING_LAIDOUT (TREE_TYPE (decl)))
load_class (name, 1);
}
}