re GNATS gcj/260 ("Klass.class" expression should cause Klass to be initialized)

* parse.y (patch_incomplete_class_ref): Initialize the returned
	class.  For PR gcj/260.

From-SVN: r34695
This commit is contained in:
Tom Tromey 2000-06-25 17:25:31 +00:00 committed by Tom Tromey
parent 6d77b53e7a
commit f1ff439a50
3 changed files with 15 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2000-06-23 Tom Tromey <tromey@cygnus.com>
* parse.y (patch_incomplete_class_ref): Initialize the returned
class. For PR gcj/260.
2000-06-21 Alexandre Petit-Bianco <apbianco@cygnus.com>
* except.c (prepare_eh_table_type): Use `CATCH_ALL_TYPE'.

View File

@ -211,7 +211,7 @@ static tree lookup_method_invoke PARAMS ((int, tree, tree, tree, tree));
static tree register_incomplete_type PARAMS ((int, tree, tree, tree));
static tree obtain_incomplete_type PARAMS ((tree));
static tree java_complete_lhs PARAMS ((tree));
tree java_complete_tree PARAMS ((tree));
static tree java_complete_tree PARAMS ((tree));
static tree maybe_generate_pre_expand_clinit PARAMS ((tree));
static int maybe_yank_clinit PARAMS ((tree));
static void java_complete_expand_method PARAMS ((tree));
@ -13280,7 +13280,7 @@ breakdown_qualified (left, right, source)
local variable decls if present.
Same as java_complete_lhs, but does resolve static finals to values. */
tree
static tree
java_complete_tree (node)
tree node;
{
@ -15690,7 +15690,10 @@ patch_incomplete_class_ref (node)
return error_mark_node;
if (!flag_emit_class_files || JPRIMITIVE_TYPE_P (ref_type))
return build_class_ref (ref_type);
{
/* A class referenced by `foo.class' is initialized. */
return build_class_init (ref_type, build_class_ref (ref_type));
}
/* If we're emitting class files and we have to deal with non
primitive types, we invoke (and consider generating) the

View File

@ -12992,7 +12992,10 @@ patch_incomplete_class_ref (node)
return error_mark_node;
if (!flag_emit_class_files || JPRIMITIVE_TYPE_P (ref_type))
return build_class_ref (ref_type);
{
/* A class referenced by `foo.class' is initialized. */
return build_class_init (ref_type, build_class_ref (ref_type));
}
/* If we're emitting class files and we have to deal with non
primitive types, we invoke (and consider generating) the