aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/expr.c
diff options
context:
space:
mode:
authorAlexandre Petit-Bianco <apbianco@cygnus.com>2000-01-06 22:06:22 +0000
committerAlexandre Petit-Bianco <apbianco@gcc.gnu.org>2000-01-06 14:06:22 -0800
commitee07f4f4b1bc7170dc29f9bd3ebf16d3932edb79 (patch)
treed12da492ed43c4a347224bc8279988400a99514b /gcc/java/expr.c
parentfbb740dacd26c4a22265af0f2cead837429c7d4e (diff)
downloadgcc-ee07f4f4b1bc7170dc29f9bd3ebf16d3932edb79.zip
gcc-ee07f4f4b1bc7170dc29f9bd3ebf16d3932edb79.tar.gz
gcc-ee07f4f4b1bc7170dc29f9bd3ebf16d3932edb79.tar.bz2
Makefile.in (LIBDEPS): Added gcc's errors.o
Fri Dec 24 00:25:29 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> * Makefile.in (LIBDEPS): Added gcc's errors.o (../jcf-dump$(exeext):): Link with gcc's errors.o (../gcjh$(exeext):): Likewise. * expr.c (expand_java_NEW): Layout the entire target type instead of laying out its methods only. (lookup_field): Layout the class after having loaded it. * java-tree.h (java_debug_context): Declared. * jcf-io.c (toplev.h): Included. (find_class): Removed assignment to jcf's outofsynch field. Force source file to be read if newer than its matching class file. Tweaked debug messages. * jcf-parse.c (jcf_out_of_synch): Deleted. (read_class): Call to jcf_out_of_synch removed. * jcf.h (typedef struct JCF): Field `outofsynch' deleted. (jcf_out_of_synch): Prototype deleted. * parse.h (struct parser_ctxt): `minus_seen', `java_error_flag', `deprecated' and `class_err': integer turned into bit fields. New bit fields `saved_data_ctx' and `saved_data'. Fixed comments. * parse.y (package_list): New global. (package_declaration:): Record newly parsed package name. (extra_ctxp_pushed_p): Static global deleted. (java_parser_context_save_global): Create buffer context for the purpose of saving globals, if necessary. (java_parser_context_restore_global): Pop context pushed for the purpose of saving globals, if necessary. (java_debug_context_do): New prototype and function. (java_debug_context): Likewise. (do_resolve_class): Use already parsed package names to qualify and lookup class candidate. (java_pre_expand_clinit): Removed unnecessary local variable. From-SVN: r31261
Diffstat (limited to 'gcc/java/expr.c')
-rw-r--r--gcc/java/expr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/java/expr.c b/gcc/java/expr.c
index ffeddd6..411cc75 100644
--- a/gcc/java/expr.c
+++ b/gcc/java/expr.c
@@ -1010,7 +1010,7 @@ expand_java_NEW (type)
{
if (! CLASS_LOADED_P (type))
load_class (type, 1);
- layout_class_methods (type);
+ safe_layout_class (type);
push_value (build (CALL_EXPR, promote_type (type),
build_address_of (alloc_object_node),
tree_cons (NULL_TREE, build_class_ref (type),
@@ -1230,6 +1230,7 @@ lookup_field (typep, name)
if (CLASS_P (*typep) && !CLASS_LOADED_P (*typep))
{
load_class (*typep, 1);
+ safe_layout_class (*typep);
if (!TYPE_SIZE (*typep) || TREE_CODE (TYPE_SIZE (*typep)) == ERROR_MARK)
return error_mark_node;
}