diff options
| author | bothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-02-19 14:55:23 +0000 |
|---|---|---|
| committer | bothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-02-19 14:55:23 +0000 |
| commit | 00220316abcd8d312325fe558680c325855f53b9 (patch) | |
| tree | 5ea05eac7742fd5a17301884eeb9665a639b6b04 /gcc/java/parse.h | |
| parent | ff8920a629b2f65e36c9757179b48ccfa4716ccc (diff) | |
| download | ppe42-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.h | 15 |
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 */ |

