aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/parse.h
diff options
context:
space:
mode:
authorPer Bothner <bothner@gcc.gnu.org>1999-02-19 06:55:23 -0800
committerPer Bothner <bothner@gcc.gnu.org>1999-02-19 06:55:23 -0800
commit78d21f929b421db5a72ffa7decf34b420c495ecb (patch)
tree5ea05eac7742fd5a17301884eeb9665a639b6b04 /gcc/java/parse.h
parent846b0eb83dc79b5dcbed7c3ab5dd5c493f563a2c (diff)
downloadgcc-78d21f929b421db5a72ffa7decf34b420c495ecb.zip
gcc-78d21f929b421db5a72ffa7decf34b420c495ecb.tar.gz
gcc-78d21f929b421db5a72ffa7decf34b420c495ecb.tar.bz2
parse.y (obtain_incomplete_type): Don't wrap unknown types in TREE_LIST - just chain the POINTER_TYPEs together.
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. From-SVN: r25324
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 bcd6696..aa35bd6 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 */