diff options
author | Per Bothner <bothner@gcc.gnu.org> | 1999-02-19 06:55:23 -0800 |
---|---|---|
committer | Per Bothner <bothner@gcc.gnu.org> | 1999-02-19 06:55:23 -0800 |
commit | 78d21f929b421db5a72ffa7decf34b420c495ecb (patch) | |
tree | 5ea05eac7742fd5a17301884eeb9665a639b6b04 /gcc/java/parse.h | |
parent | 846b0eb83dc79b5dcbed7c3ab5dd5c493f563a2c (diff) | |
download | gcc-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.h | 15 |
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 */ |