aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authorPer Bothner <per@bothner.com>2001-03-19 14:00:29 -0800
committerPer Bothner <bothner@gcc.gnu.org>2001-03-19 14:00:29 -0800
commit80fc2e84d95714c998b2855250b3d440f38620aa (patch)
tree46a67acfc854db09ad9b1b75802c49be347dbb7e /gcc/java
parent546468116ecab0398f68c844cdc553ae886aad7d (diff)
downloadgcc-80fc2e84d95714c998b2855250b3d440f38620aa.zip
gcc-80fc2e84d95714c998b2855250b3d440f38620aa.tar.gz
gcc-80fc2e84d95714c998b2855250b3d440f38620aa.tar.bz2
jcf-parse.c (load_inner_classes): Check CLASS_LOADED_P before trying to load an inner class.
* jcf-parse.c (load_inner_classes): Check CLASS_LOADED_P before trying to load an inner class. From-SVN: r40638
Diffstat (limited to 'gcc/java')
-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 77f98ca..2a96eb5 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 84f2688..4dff49b 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);
}
}