aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/java-tree.h
diff options
context:
space:
mode:
authorPer Bothner <per@bothner.com>2001-04-20 17:01:12 -0700
committerPer Bothner <bothner@gcc.gnu.org>2001-04-20 17:01:12 -0700
commit3c0ce750cb50921dee27d1399bd14a10145f7538 (patch)
tree3e403b7d575e2f47a8246846495c78ecb309ed18 /gcc/java/java-tree.h
parentc1800ec88e53d47792c9b01672d4feabba209a3c (diff)
downloadgcc-3c0ce750cb50921dee27d1399bd14a10145f7538.zip
gcc-3c0ce750cb50921dee27d1399bd14a10145f7538.tar.gz
gcc-3c0ce750cb50921dee27d1399bd14a10145f7538.tar.bz2
Fixes to compile multiple .class files at once.
From-SVN: r41472
Diffstat (limited to 'gcc/java/java-tree.h')
-rw-r--r--gcc/java/java-tree.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h
index 0163b49..65e7956 100644
--- a/gcc/java/java-tree.h
+++ b/gcc/java/java-tree.h
@@ -73,7 +73,7 @@ struct JCF;
Usage of TYPE_LANG_FLAG_?:
0: CLASS_ACCESS0_GENERATED_P (in RECORD_TYPE)
1: TYPE_ARRAY_P (in RECORD_TYPE).
- 2: CLASS_LOADED_P (in RECORD_TYPE).
+ 2: CLASS_PARSED_P (in RECORD_TYPE).
3: CLASS_FROM_SOURCE_P (in RECORD_TYPE).
4: CLASS_P (in RECORD_TYPE).
5: CLASS_FROM_CURRENTLY_COMPILED_SOURCE_P (in RECORD_TYPE)
@@ -1306,8 +1306,13 @@ extern tree *type_map;
/* FIXME this use of TREE_TYPE conflicts with something or other. */
#define TYPE_ARRAY_ELEMENT(ATYPE) TREE_TYPE(ATYPE)
-/* True if class TYPE has been loaded. */
-#define CLASS_LOADED_P(TYPE) TYPE_LANG_FLAG_2 (TYPE)
+/* True if class TYPE has been loaded (i.e. parsed plus laid out).
+ (The check for CLASS_PARSED_P is needed because of Object and Class.) */
+#define CLASS_LOADED_P(TYPE) (TYPE_SIZE (TYPE) != NULL_TREE \
+ && (CLASS_PARSED_P(TYPE) || TYPE_ARRAY_P(TYPE)))
+
+/* True if class TYPE has been parsed (first pass). */
+#define CLASS_PARSED_P(TYPE) TYPE_LANG_FLAG_2 (TYPE)
/* True if class TYPE was defined in Java source code. */
#define CLASS_FROM_SOURCE_P(TYPE) TYPE_LANG_FLAG_3 (TYPE)