diff options
author | Tom Tromey <tromey@redhat.com> | 2001-02-05 23:27:46 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2001-02-05 23:27:46 +0000 |
commit | 6d0918702e567af885fc7a24dad75fbd359d788f (patch) | |
tree | 74e6b4dac5ca2af6422c493d78c40101e2f92e7f | |
parent | 56cf87e779b66135eab2eac40aae1d89d0687a47 (diff) | |
download | gcc-6d0918702e567af885fc7a24dad75fbd359d788f.zip gcc-6d0918702e567af885fc7a24dad75fbd359d788f.tar.gz gcc-6d0918702e567af885fc7a24dad75fbd359d788f.tar.bz2 |
re PR java/1866 (Array initializer: undefined reference to `LJv0.0')
* expr.c (java_lang_expand_expr): Don't bother recomputing
`length'. Use rest_of_decl_compilation, not make_decl_rtl.
Fixes PR java/1866.
From-SVN: r39470
-rw-r--r-- | gcc/java/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/java/expr.c | 8 |
2 files changed, 9 insertions, 5 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 23f5c30..de1e16e 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2001-02-04 Tom Tromey <tromey@redhat.com> + + * expr.c (java_lang_expand_expr): Don't bother recomputing + `length'. Use rest_of_decl_compilation, not make_decl_rtl. + Fixes PR java/1866. + 2001-02-05 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (process_imports): Save the original name of the import diff --git a/gcc/java/expr.c b/gcc/java/expr.c index d74dfc0..70a2fe9 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -2388,9 +2388,7 @@ java_lang_expand_expr (exp, target, tmode, modifier) FINISH_RECORD_CONSTRUCTOR (temp); START_RECORD_CONSTRUCTOR (value, array_type); PUSH_SUPER_VALUE (value, temp); - /* FIXME: build a new `length' here to get it on the right - obstack. */ - PUSH_FIELD_VALUE (value, "length", build_int_2 (ilength, 0)); + PUSH_FIELD_VALUE (value, "length", length); PUSH_FIELD_VALUE (value, "data", init); FINISH_RECORD_CONSTRUCTOR (value); @@ -2400,7 +2398,7 @@ java_lang_expand_expr (exp, target, tmode, modifier) DECL_INITIAL (init_decl) = value; DECL_IGNORED_P (init_decl) = 1; TREE_READONLY (init_decl) = 1; - make_decl_rtl (init_decl, NULL); + rest_of_decl_compilation (init_decl, NULL, 1, 0); TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (init_decl)) = 1; init = build1 (ADDR_EXPR, TREE_TYPE (exp), init_decl); r = expand_expr (init, target, tmode, modifier); @@ -2423,7 +2421,7 @@ java_lang_expand_expr (exp, target, tmode, modifier) DECL_INITIAL (init_decl) = init; DECL_IGNORED_P (init_decl) = 1; TREE_READONLY (init_decl) = 1; - make_decl_rtl (init_decl, NULL); + rest_of_decl_compilation (init_decl, NULL, 1, 0); TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (init_decl)) = 1; init = init_decl; } |