summaryrefslogtreecommitdiffstats
path: root/gcc/java/parse.h
diff options
context:
space:
mode:
authorbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>1999-02-19 14:55:23 +0000
committerbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>1999-02-19 14:55:23 +0000
commit00220316abcd8d312325fe558680c325855f53b9 (patch)
tree5ea05eac7742fd5a17301884eeb9665a639b6b04 /gcc/java/parse.h
parentff8920a629b2f65e36c9757179b48ccfa4716ccc (diff)
downloadppe42-gcc-00220316abcd8d312325fe558680c325855f53b9.tar.gz
ppe42-gcc-00220316abcd8d312325fe558680c325855f53b9.zip
d
* parse.y (obtain_incomplete_type): Don't wrap unknown types in TREE_LIST - just chain the POINTER_TYPEs together. (resolve_class): If type already resolved, return decl. After resolving, update TREE_TYPE(class_type), and name (if array). * parse.h (do_resolve_class), parse.y: Make non-static. * class.c (maybe_layout_super_class): Take this_class argument. Do do_resolve_class if necessary. (layout_class, layout_class_methods): Adjust calls appropriately. * parse.h (JDEP_TO_RESOLVE, JDEP_RESOLVED_DECL, JDEP_RESOLVED, JDEP_RESOLVED_P): Redefined for new TREE_LIST-less convention. * typeck.c (build_java_array_type): Don't call layout_class. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25324 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java/parse.h')
-rw-r--r--gcc/java/parse.h15
1 files changed, 6 insertions, 9 deletions
diff --git a/gcc/java/parse.h b/gcc/java/parse.h
index bcd6696bd93..aa35bd6d58d 100644
--- a/gcc/java/parse.h
+++ b/gcc/java/parse.h
@@ -381,15 +381,11 @@ typedef struct _jdep {
#define JDEP_APPLY_PATCH(J,P) (*(J)->patch = (P))
#define JDEP_GET_PATCH(J) ((J)->patch)
#define JDEP_CHAIN(J) ((J)->next)
-#define JDEP_TO_RESOLVE(J) (TREE_PURPOSE ((J)->solv))
-#define JDEP_RESOLVED_DECL(J) ((J)->solv ? TREE_PURPOSE ((J)->solv):NULL_TREE)
-#define JDEP_RESOLVED(J, D) \
- { \
- TREE_PURPOSE ((J)->solv) = D; \
- TREE_VALUE ((J)->solv) = (J)->solv; \
- }
-#define JDEP_RESOLVED_P(J) (!(J)->solv || \
- TREE_VALUE ((J)->solv) == (J)->solv)
+#define JDEP_TO_RESOLVE(J) ((J)->solv)
+#define JDEP_RESOLVED_DECL(J) ((J)->solv)
+#define JDEP_RESOLVED(J, D) ((J)->solv = D)
+#define JDEP_RESOLVED_P(J) \
+ (!(J)->solv || TREE_CODE ((J)->solv) != POINTER_TYPE)
typedef struct _jdeplist {
jdep *first;
@@ -667,6 +663,7 @@ tree java_method_add_stmt PROTO ((tree, tree));
char *java_get_line_col PROTO ((char *, int, int));
void java_expand_switch PROTO ((tree));
int java_report_errors PROTO (());
+extern tree do_resolve_class PROTO ((tree, tree, tree));
#endif
/* Always in use, no matter what you compile */
OpenPOWER on IntegriCloud