diff options
author | Tom Tromey <tromey@cygnus.com> | 2000-06-25 17:25:31 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2000-06-25 17:25:31 +0000 |
commit | f1ff439a50500c09c7f8016ca00dfe0bfd1109a2 (patch) | |
tree | d63d1f1e6cd319b39df884faaac61ea0f7642909 /gcc/java/parse.c | |
parent | 6d77b53e7a196f01fc03bb481a7cb574213a4a6d (diff) | |
download | gcc-f1ff439a50500c09c7f8016ca00dfe0bfd1109a2.zip gcc-f1ff439a50500c09c7f8016ca00dfe0bfd1109a2.tar.gz gcc-f1ff439a50500c09c7f8016ca00dfe0bfd1109a2.tar.bz2 |
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
Diffstat (limited to 'gcc/java/parse.c')
-rw-r--r-- | gcc/java/parse.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/java/parse.c b/gcc/java/parse.c index 415d877..d6ece50 100644 --- a/gcc/java/parse.c +++ b/gcc/java/parse.c @@ -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 |